Математичне програмування

 

Математичне програмування




      Математи́чне програмува́ння — це прикладна математична дисципліна, яка досліджує екстремум функції (задачі пошуку максимуму або мінімуму) і розробляє методи їх розв'язання. Такі задачі ще називають оптимізаційними.

         Історія

      Як самостійний науковий напрямок математичне програмування сформувалось на початку 40-х років ХХ століття. У 1939 році відомий російський математик Л. В. Канторович опублікував роботу «Математичні методи організації та планування виробництва», в якій сформулював принципово новий клас екстремальних задач з обмеженнями і розробив ефективний метод їх розв'язання. Так було започатковано новий розділ прикладної математики, який пізніше отримав назву «лінійне програмування». Дослідження Л. В. Канторовича в цій галузі сприяли створенню строго наукового інструментарію для розв'язання фундаментальних економічних проблем (ефективності капіталовкладень, ціноутворення, теорії ренти тощо), за що в 1975 р. Л. В. Канторович був удостоєний (разом з Т. Ч. Купмансом) Нобелівської премії з економіки.

    Методам лінійного програмування присвячено багато робіт зарубіжних вчених. У 1949 р. американським вченим Хічкоком поставлена транспортна задача, Дж. Данцигом був розроблений симплекс-метод розв'язання задачі ЛП, Д. Гейлом, Г. У. Куном, А. У. Таккером сформульована теорема двоїстості та розроблена теорія розв'язання задач опуклого програмування. Крім того, французьким математиком Лагранжем та американцем Беллманом розроблені методи множників і теорія функціональних рівнянь розв'язання відповідно задач опуклого та динамічного програмування[3].

За останні роки розроблено багато ефективних методів розв'язання математичних задач оптимізації на ЕОМ (ПК).

      Класифікація галузей математичного моделювання[ред. • ред. код]

  • В залежності від виду цільової функції та системи обмежень галузі математичного програмування поділяють на[4]:
    • Лінійне програмування – цільова функція і функції обмежень, що входять в систему обмежень є лінійними (рівняння першого порядку)
    • Нелінійне програмування – цільова функція або одна із функцій обмежень, що входять в систему обмежень є нелінійними (рівняння вищих порядків)
    • Цілочисельне (дискретне) програмування — якщо на хоча б одну змінну  накладена умова цілочисельності
    • Динамічне програмування — якщо параметри цільової функції і/або система обмежень змінюються в часі або цільова функція має адитивний/мультиплікативний вигляд чи сам процес прийняття рішення має багатокроковий характер.
  • В залежності чи відома вся інформація про процес заздалегідь галузі математичного програмування поділяють на:
    • Стохастичне програмування — відома не вся інформація про процес заздалегідь: параметри що входять в цільову функцію або в функцію обмежень є випадковими або доводиться приймати рішення в умовах ризику
    • Детерміноване програмування — відома вся інформація про процес заздалегідь

      Класифікація задач оптимізації

В залежності від кількості цільових функцій задачі поділяють на:

  1. Однокритеріальні
  2. Багатокритеріальні

За властивостями системи обмежень і цільової функції задачі оптимізації класифікують наступним чином:

  1. Задачі безумовної оптимізації або задачі без обмежень — в них не накладаються обмеження на кількісні змінні.
  2. Задачі умовної оптимізації або задачі з обмеженнями — в цих задачах на кількісні змінні накладаються обмеження. 
  3. Задачі оптимізації при неповних даних — в них функція цілі або система обмежень залежать від деякого параметру р (числового, векторного), значення якого повністю невизначено на момент розв'язання задачі.  


Создан 03 дек 2016