Комбінаторна оптимізація
Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено з Дискретна оптимізація)
Комбінаторна оптимізація (англ. Combinatorial optimization) — розділ теорії оптимізації. Розглядає задачі оптимізації множина розв'язків яких дискретна або може бути зведена до дискретної.
Зміст |
Визначення [ред.]
Задача дискретної оптимізації визначається як четвірка
, де:
— формальна мова над множиною
розв'язна за поліноміальний час;
— підмножина
для кожного
; існує поліном
такий, що
для всіх
та всіх
, та мови
та
розв'язні за поліноміальний час;
є функцією, обчислюваною за поліноміальний час;
Елементи
називають екземплярами
. Для кожного екземпляру
елементи
називають припустимими розв'язками
.
Приклади [ред.]
Задача комівояжера [ред.]
В задачі комівояжера задане ціле
та відстані між всіма парами
міст у вигляді
матриці
, де
. Обхід — це замкнений маршрут, що проходить через кожне місто один раз. Задача полягає у відшуканні обходу з найменшою довжиною.[1]
Можна взяти F={всі перестановки
з
об'єктів}. Кожна перестановка
є обходом, якщо інтерпретувати
як місто, відвідуване після міста
,
. Тоді вартість
відображає
в 
Джерела інформації [ред.]
- ↑ Х. Пападимитриу, К. Стайглиц. Комбинаторная оптимизация, алгоритмы и сложность. Мир.
- Bernhard Korte, Jens Vygen: Combinatorial Optimization: Theory and Algorithms. In: Algorithms and Combinatorics Band 21, 4. Auflage, Springer-Verlag, Berlin 2008, ISBN 978-3-540-71843-7.
Див. також [ред.]
- Задача комівояжера,
- Задача пакування рюкзака,
- Задача прокату лиж,
- Обчислювальна складність.
- Цілочисельне програмування

розв'язна за
для кожного
; існує поліном
такий, що
для всіх
та всіх
та
розв'язні за поліноміальний час;
є функцією, обчислюваною за поліноміальний час;