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

Версія від 16:01, 9 січня 2012, створена Andry ad (обговореннявнесок) (Класифікація методів математичного програмування)

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

Модель задачі математичного програмування

Модель задачі математичного програмування включає:

  • Сукупність невідомих величин (які потрібно знайти, для вирішення поставленої задачі). Впливаючи на ці невідомі величини систему можна вдосконалювати. Їх також називають планом задачі, вектором управління, стратегії, поведінка
  • Цільова функція (функція цілі). Цільова функція дозволяє вибрати найкращий варіант з множини можливих. Найкращим варіантом є екстремум цільової функції. Цільова функція позначається [math]Z=z(x)[/math]. Приклад цільової функції: прибуток, об’єм випуску і реалізації, рівень обслуговування і дефіциту і т. д.
  • Умови (обмеження), що накладаються на незалежні величини. Ці умови можуть бути матеріальні, фінансові, трудові, технічні, технологічні та інші. Математичні обмеження виражаються у вигляді рівнянь та нерівностей. Їх сукупність формує область допустимих значень. Об’єднання всіх обмежень, що накладаються на змінні [math]x_i[/math] позначаються символом [math]\Omega[/math]. Тобто [math]x\in\Omega[/math].

При таких позначеннях модель задачі математичного програмування має вигляд:

[math]max (min) Z=z(x),x\in\Omega[/math]

Класифікація методів математичного програмування

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

Література

  • Кузнецов А.В. Математичне програмування. М - "Вища школа", 1994. 282c.