Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Глава 24. ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ



Общая формулировка задачи

 

Некоторые задачи линейного программирования требуют целочисленного решения. К ним относятся задачи по произ­водству и распределению неделимой продукции (выпуск стан­ков, телевизоров, автомобилей и т.д.). В общем виде математи­ческая модель задачи целочисленного программирования име­ет вид

 

 

при ограничениях:

 

 

Оптимальное решение задачи, найденное симплексным ме­тодом, часто не является целочисленным. Его можно округлить до ближайших целых чисел. Однако такое округление может дать решение, не лучшее среди целочисленных решений, или привести к решению, не удовлетворяющему системе ограниче­ний. Поэтому для нахождения целочисленного решения нужен особый алгоритм. Такой алгоритм предложен Гомори и состо­ит в следующем.

Симплексным методом находят оптимальное решение за­дачи. Если решение целочисленное, то задача решена. Если же оно содержит хотя бы одну дробную координату, то на­кладывают дополнительное ограничение по целочисленности и вычисления продолжают до получения нового решения. Ес­ли и оно является нецелочисленным, то вновь накладывают дополнительное ограничение по целочисленности. Вычисления продолжают до тех пор, пока не будет получено целочисленное решение или показано, что задача не имеет целочисленного ре­шения.

Пусть получено оптимальное решение опт = (f1, f2, ... , fr, 0, ..., 0), которое не является целочисленным, тогда по­следний шаг симплексной таблицы имеет следующий вид:

 

 

где r — ранг системы ограничений; hi,r+1 — коэффициент сим­плексной таблицы i-й строки, (r + 1)-го столбца; fi — свобод­ный член i-й строки.

Пусть fi и хотя бы одно hij (j = , r = ) — дроб­ные числа.

Обозначим через [fi] и [hij] целые части чисел fi и hij.

Определение 1. Целой частью числа fi называют наибольшее целое число, не превосходящее числа fi.

Дробную часть чисел fi и hij обозначим {fi} и {hij}, она определяется следующим образом:

 

 

Пример.

 

 

 

Если fi и хотя бы одно значение hij дробны, то с учетом введенных обозначений целых и дробных чисел дополнитель­ное ограничение по целочисленности примет вид

 

{hi,r+l} xr+1 + {hi,r+2} xr+2 + • • • + {hi,п} xп ≥ {fi}.

Примечания. 1) Если fi — дробное число, а все hij — целые числа, то задача линейного программирования не имеет целочисленного решения.

2) Ограничение целочисленности может быть наложено не на все переменные, а лишь на их часть. В этом случае задача является частично целочисленной.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.