Комбінаторна оптимізація

Матеріал з testwiki
Перейти до навігації Перейти до пошуку

Комбінаторна оптимізація (Шаблон:Lang-en) — розділ теорії оптимізації. Розглядає задачі оптимізації, у яких множина розв'язків є дискретною або може бути зведена до дискретної.

Визначення

Задача дискретної оптимізації визначається як четвірка 𝒫=(X,(Sx)xX,c,goal), де:

  • X — формальна мова над множиною {0,1} розв'язна за поліноміальний час;
  • Sx — підмножина {0,1}* для кожного xX; існує поліном p такий, що size(y)p(size(x)) для всіх ySx та всіх xX, та мови {(x,y):xX,ySx} та {xX:Sx=} розв'язні за поліноміальний час;
  • c:{(x,y):xX,ySx}Q є функцією, обчислюваною за поліноміальний час;
  • goal{max,min}

Елементи X називають екземплярами 𝒫. Для кожного екземпляру x елементи Sx називають припустимими розв'язками x.

Приклади

Задача комівояжера

Шаблон:Main

В задачі комівояжера задане ціле n>0 та відстані між всіма парами n міст у вигляді (n×n) матриці [dij], де dijZ+. Обхід — це замкнений маршрут, що проходить через кожне місто один раз. Задача полягає у відшуканні обходу з найменшою довжиною.[1]

Можна взяти F={всі перестановки π з n об'єктів}. Кожна перестановка π є обходом, якщо інтерпретувати π(j) як місто, відвідуване після міста j, j=1,,n. Тоді вартість c відображає π в j=1ndjπ(j).

Див. також

Примітки

Шаблон:Reflist

Література

Див. також

Шаблон:Портал

Шаблон:Math-stub