Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры_4семестр.doc
Скачиваний:
5
Добавлен:
24.09.2019
Размер:
541.7 Кб
Скачать

27. Целочисленное программирование. Характеристика класса задач, для которых имеет смысл только целочисленное решение. Дополнительное ограничение Гомори.

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

Задача лин целочис программирования формулируется следующим образом: найти такое решение (план) Х=(х1, х2, …, хn), при котором линейная функци я

принимает максимальное или минимальное значение при ограничениях , i=1, 2, …, m

, j= 1, 2,…,n. Xj- целые числа.

Для решения задач линейного целочисленного программирования используется ряд методов. Самый простой из них – обычный метод линейного программирования. В случае если компоненты оптимального решения оказываются нецелочисленного, их округляют до ближайших целых чисел. Этот метод применяют тогда, когда отдельная единица совокупности составляет малую часть объема всей совокупности. В противном случае округление может привести к далекому от оптимального целочисленному решению, поэтому используют специально разработанные методы. Методы целочисленной оптимизации можно разделить на 3 основные группы: 1.методы отсечения 2.комбинаторные методы 3.приближенные методы.

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

  • оно должно быть линейным

  • должно отсекать найденный оптимальный нецелочисленный план

  • не должно отсекать ни одного целочисленного плана

Дополнительное ограничение, обладающее указанными свойствами, называется правильным отсечением. Далее задача решается с учетом нового ограничения. После этого в случае необходимости добавляется еще одно ограничение итп.

Один из алгоритмов решения задачи линейного целочисленно­го программирования (2.4.2)-(2.4.4), предложенный Гомори, основан на симплексном методе и использует достаточно простой способ построения правильного отсечения.

Пусть задача линейного программирования (2.4.1)-(2.4.3) име­ет конечный оптимум и на последнем шаге ее решения сим­плексным методом получены следующие уравнения, выра­жающие основные переменные х1, х2, ..., xj..., xm через неос­новные переменные xm+1, xm+2,…, xm+i, …, xn  оптимального решения

                (2.4.5)

так, что оптимальным решением задачи (2.4.1)-(2.4.3) является Х* = (β1, β2, …, βi, …βm,0,0,…,0), в котором, например β­i - нецелая компонента. В этом случае можно доказать, что неравен­ство

              (2.4.6)

сформированное по i-му уравнению системы (2.4.5), обладает всеми свойствами правильного отсечения.

Для решения задачи целочисленного линейного программиро­вания (2.4.1)-(2.4.4.) методом Гомори используется следующий ал­горитм:

- симплексным методом решается задача (2.4.1)-(2.4.3) без учета условия целочисленности. Если все компоненты оптимального плана целые, то он является оптимальным и для задачи целочис­ленного программирования (2.4.1)-(2.4.4). Если первая задача (2.4.1)-(2.4.3) неразрешима (т.е. не имеет конечного оптимума или условия ее противоречивы), то и вторая задача (2.4.1)-(2.4.4) также неразре­шима;

- если среди компонент оптимального решения есть неце­лые, то выбирается компонента с наибольшей целой частью и по соответствующему уравнению системы (2.4.5) формируется пра­вильное отсечение (2.4.6);

- неравенство (2.4.6) путем введения дополнительной неотрицатель­ной целочисленной переменной преобразовывается в равносильное уравнение

           (2.4.7)

 и включается в систему ограничений (2.4.2);

- полученную расширенную задачу решают симплексным ме­тодом. Если найденный оптимальный план будет целочисленным, то задача целочисленного программирования (2.4.1)-(2.4.4) решена. В противном случае следует вернуться к пункту 2 алгоритма и повторить цикл до тех пор, пока не будет получен оптимальный план .

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

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