Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет МОР всё сразу.docx
Скачиваний:
126
Добавлен:
30.05.2015
Размер:
831.26 Кб
Скачать

5. Симплексный метод с искусственным базисом

Этап 1. Составляют расширенную задачу (4) – (6).

Этап 2. Находят опорный план расширенной задачи.

Этап 3. С помощью обычных вычислений симплексного метода исключают искусственные векторы из базиса. В результате либо находят опорный план исходной задачи (1)- (3) , либо устанавливают ее неразрешимость.

Этап 4. Используя найденный опорный план задачи (1) - (3), находят симплексным методом оптимальный план исходной задачи, либо устанавливают ее неразрешимость.

Задача 2. Найти максимум функции при условиях

Этап 1. Составляем расширенную задачу к исходной, т.е. найти максимум функции при условиях

Среди векторов ,,,,,имеется два единичных вектора, поэтому находим решение расширенной задачи состоящей в определении максимального значения функции

при условиях

Этап 2. Опорный план имеет вид , определяемый системой трех единичных векторов.

Этап 3. Составляем таблицу для первой итерации

i

Базис

Сб

Р0

2

-3

6

1

0

0

-М

Р1

Р2

Р3

Р4

Р5

Р6

Р7

1

х5

0

20

1

2

-4

0

1

0

0

2

х7

10

1

-1

/2/

0

0

-1

1

3

х4

1

24

2

1

-2

1

0

0

0

4

24

0

4

-8

0

0

0

0

5

-10

-1

1

-2

0

0

1

0

Составляем таблицу для 2-ой итерации. Эта таблица содержит только четыре строки, так как искусственный вектор Р7 из базиса исключен.

Этап 4.

i

Базис

Сб

Р0

2

-3

6

1

0

0

Р1

Р2

Р3

Р4

Р5

Р6

1

х5

0

40

3

0

0

0

1

-2

2

х3

6

5

½

-1/2

1

0

0

-1/2

3

х4

1

34

3

0

0

1

0

-1

4

64

4

0

0

0

0

-4

Из таблицы видно, что найденный опорный план исходной задачи не является оптимальным, поскольку в 4-ой строке столбцаР6этой таблицы находится отрицательное число (-4). Так как в указанном столбце нет положительных элементов (Теорема 2), то данная задача не имеет оптимального плана.

6. Целочисленное программирование. Метод Гомори.

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

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

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

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

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

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

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

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

, ,

где fk = xj - [xj];

fkj = zkj - [zkj];

S* - новая переменная;

[xj], [zkj] -ближайшее целое, не превосходящее xj и zkj соответственно.

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

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

Замечания

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]