Задача целочисленного программирования

Материал из Мегапедии
Перейти к: навигация, поиск
Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Задача целочисленного программирования — это основная задача целочисленного программирования.

Математическая модель

Математическая модель задачи целочисленного программирования имеет следующий вид:

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

или

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Метод решения

Задача целочисленного программирования решается методом Гомори. Суть метода состоит в первоначальном решении симплекс-методом вспомогательной задачи линейного программирования (без ограничения целочисленности) вида:

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

или

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения
.

Затем для нецелочисленной переменной оптимального решения вспомогательной задачи составляется ограничение отсечения и вновь решается вспомогательная задача, но уже М-методом. Причём если в r-ой строке последней симплекс-таблицы базисная переменная не является целочисленной (а она должна быть целочисленной по условию задачи), то составляется ограничение отсечения вида:

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения
, где

{arj}=arj-[arj] - дробная часть числа.

Повторяя процедуру добавления ограничения отсечения и решения вспомогательной задачи, в конце получаем оптимальное целочисленное решение.

Пример решения

Задача целочисленного программирования имеет вид:

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Строим вспомогательную задачу линейного программирования (без ограничения целочисленности):

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Вспомогательную задачу приводим к каноническому виду:

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Решаем первую вспомогательную задачу симплекс-методом:

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Составляем первое ограничение отсечения (в ограничении используются десятичные дроби):

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Решаем вторую вспомогательную задачу М-методом:

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Составляем второе ограничение отсечения (в ограничении используются правильные дроби):

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Решаем третью вспомогательную задачу М-методом:

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Оптимальное решение последней вспомогательной задачи x1=5, x2=2, x3=0, x4=7, x5=4, x6=1, x7=0, x8=0, L=38.

Оптимальное решение задачи целочисленного программирования x1=5, x2=2, Lц =38.

Другие задачи:

Ссылки

  • Корбут А.А., Финкельштейн Ю.Ю. Дискретное программирование, «Наука», М., 1969.
  • Участник:Logic-samara