Оптимізаційні задачі: поняття, методи розв’язання та класифікація

Основні компоненти

Цільова функція – це та, яку потрібно мінімізувати або максимізувати. Більшість видів оптимізаційних задач мають одну цільову функцію. Якщо немає, то їх часто можна переформулювати так, щоб вони виконувалися.

Два винятки з цього правила:

1. Завдання пошуку мети. У більшості бізнес-додатків менеджер бажає досягти конкретної мети, одночасно задовольняючи обмеження моделі. Користувач не особливо хоче щось оптимізувати, тому немає сенсу визначати цільову функцію. Цей тип зазвичай називають проблемою здійсненності.

2. Безліч об’єктивних функцій. Найчастіше користувач хотів би оптимізувати відразу кілька різних цілей. Зазвичай вони несумісні. Змінні, які оптимізують одну мету, можуть бути далеко не найкращими для інших.

Типи компонентів:

  • Керовані вхідні дані – це набір змінних рішення, які впливають на значення цільової функції. У виробничої задачі змінні можуть включати в себе розподіл різних доступних ресурсів або трудовитрати, необхідні для кожної дії.
  • Обмеження – це відносини між змінними рішеннями і параметрами. Для виробничої проблеми не має сенсу витрачати велику кількість часу на будь-яку діяльність, тому обмежують всі «тимчасові» змінні.
  • Можливі й оптимальні рішення. Значення рішення для змінних, при якому всі обмеження виконуються, називається виконуваною. Більшість алгоритмів спочатку його знаходять, потім намагаються поліпшити. Нарешті, вони змінюють змінні, щоб перейти від одного здійсненного рішення до іншого. Даний процес повторюється до тих пір, поки цільова функція не досягне свого максимуму чи мінімуму. Цей результат називається оптимальним рішенням.

Широко використовуються алгоритми оптимізаційних задач, розроблені для наступних математичних програм:

  • Опуклі.
  • Колективні.
  • Квадратичні.
  • Геометричні.