Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛП 02_ С_М.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
867 Кб
Скачать
☆

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

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

xj - целые

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

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

  1. методы отсечения;

  2. комбинированные методы;

  3. приближенные методы.

Методы отсечения.

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

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

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

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

Такие ограничения называются правильными отсечениями.

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

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

Пример 11.

х1, х2 - целые.

Построим область допустимых решений задачи (рис.). Это многоугольник АВСДЕ. Построим вектор градиент целевой функции (1;-3). Ясно, что точкой оптимума будет точка В(3.5;6.5). Полученное решение не удовлетворяет условию целочисленности. Проведем прямую А'B', отсекающую точку В и не отсекающую ни одну целую точку. Получаем новый многоугольник АА'B'СДЕ, где А' и B' имеют целые координаты. Точка А'(3;6) - новое решение задачи целочисленного программирования.

Метод Гомори.

Пусть задача линейного программирования имеет оптимальное решение. Не нарушая общности задачи предположим х1, х2,…хm -это базисные переменные, полученные на последнем шаге симплекс-метода. Они выражены через небазисные переменные хm+1, хm+2,…хn.

Оптимальное решение задачи Х*(1, 2, …,m, 0, 0,…,0).

Пусть в этом оптимальном решении i не целая компонента.

Алгоритм метода Гомори.

  1. Решаем задачу симплекс методом. Если найденное решение целочисленно, то задача решена. Если задача не разрешима, то она не имеет решений и в целых числах.

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

  3. Вводим дополнительную неотрицательную целую переменную хn+1 и получаем новое уравнение

  4. Полученную расширенную задачу решаем симплекс-методом. Если новый найденный план целочисленный, то задача решена, если нет то повторяем процедуру.

Замечание. - дробная часть числа.

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

Пример 12.

Решить задачу в целых числах.

Приведем задачу к каноническому виду:

Построим симплекс таблицу

Базис

Свобод-ный член

Переменные

Оценоч-ные отношения

x1

x2

x3

x4

x5

x3

60

3

5

1

0

0

12

x4

34

3

4

0

1

0

17/2

x5

8

0

1

0

0

1

8

z

0

-2

-3

0

0

0

Данный план не оптимален, так как в оценочной строке есть отрицательные элементы. Наибольший по модулю в столбце х2. Следовательно х2 переменная вводимая в базис. Построим оценочные отношения. Наименьшее соответствует строке х5. Значит х5 вводимая в базис переменная. Переходим к новой симплекс-таблице.

Базис

Свобод-ный член

Переменные

Оценоч-ные отношения

x1

x2

x3

x4

x5

x3

20

3

0

1

0

-5

20/3

x4

2

3

0

0

1

-4

2/3

x2

8

0

1

0

0

1

z

24

-2

0

0

0

3

Полученное решение не является оптимальным. х1 вводимая, х4 выводимая переменная. Переходим к новой симплекс-таблице.

Базис

Свобод-ный член

Переменные

Оценоч-ные отношения

x1

x2

x3

x4

x5

x3

18

0

0

1

-1

-1

x1

2/3

1

0

0

1/3

-4/3

x2

8

0

1

0

0

1

z

76/3

0

0

0

2/3

1/3

Полученное решение Х(2/3;8;18;0;0) оптимально, но не является целочисленным (х1=2/3).

Построим правильное отсечение из условия:

Найдем дробные части от чисел стоящих в фигурных скобках:

; ;

Получим неравенство:

Введем дополнительную целую переменную

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

Для сокращения числа шагов можно вводить новое уравнение в симплекс-таблицу, полученную на последнем шаге.

Базис

Свобод-ный член

Переменные

Оценоч-ные отношения

x1

x2

x3

x4

x5

x6

x3

18

0

0

1

-1

-1

0

x1

2/3

1

0

0

1/3

-4/3

0

x2

8

0

1

0

0

1

0

8

x6

2/3

0

0

0

1/3

1/3

-1

1

z

76/3

0

0

0

2/3

1/3

0

Полученное базисное решение не допустимо (х6=-1).

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

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

Базис

Свобод-ный член

Переменные

Оценоч-ные отношения

x1

x2

x3

x4

x5

x6

x3

19

0

0

1

-1/2

0

-2/3

x1

2

1

0

0

1

0

-2

x2

7

0

1

0

-1/2

0

3/2

x5

1

0

0

0

1/2

1

3/2

z

25

0

0

0

1/2

0

1/2

Полученное решение является оптимальным. Найденный план целочисленен Х(2;7;19;0;1;0).