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

Решение задачи методом Гомори

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

(1.1)

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

Пример. Найти наибольшее значение функции

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

2. Метод ветвей и границ

Задача линейного программирования решается без уче­та целочисленности. Такая задача называется непрерыв­ной. Далее рассматривают одну из переменных xj, на кото­рую накладывают ограничение целочисленности, но кото­рая получила дробное значение. На основе полученного решения составляют дополнительные ограничения:

xj[ ] и xj [ ] + 1,

где [ ] — целая часть нецелочисленного значения перемен­ной в оптимальном решении, и затем решаются еще две задачи линейного программирования, в каждую из которых вошли все исходные ограничения и одно из дополнительных.

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

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

  • на одной из ветвей недопустимое решение;

  • на одной из ветвей целочисленное решение. Тогда зна­чение целевой функции сравнивается с Lгр (верхним - при max, нижним - при min); если полученное значе­ние хуже, оно отбрасывается; если лучше, то принимается за граничное;

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

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

Пример 1.

max L = 7x1 + 3x2,

Решение. В результате решения задачи симплекс-ме­тодом найдем оптимальное решение = 1; = 7,5; L1 = 29,5, где верхний индекс переменных — номер задачи.

В полученном решении x2 = 7,5 — нецелочисленное. Поэтому для дальнейшего решения составляем две новые задачи с различными граничными условиями.

Задача 2. Задача 3.

max L = 7x1 + 3x2, max L = 7x1 + 3x2,

Результаты решения симплекс методом задачи 2: = 1,2; = 7; L2 = 29,4; задачи 3: = 0,75; = 8; L3 = 29,25;

В задаче 1 переменная = 1 — целочисленная, а в последующих задачах при целочисленности х2 перестала быть целочисленной x1. Затем следует накладывать огра­ничения целочисленности на x1 и т. д. (рис. 2).

Результаты решения непрерывной и целочисленной за­дачи вводятся в таблице 1. В качестве оптимального принимается решение задачи 5, которое дает наибольшее из целочисленных решений значение целевой функции.

Таблица 1.

N задачи

X1

X2

L

N задачи

X1

X2

L

1

1

7,5

29,5

5

2

5

29

4

1

7

28

6

0

9

27

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

Обязательное условие метода — наличие верхних гра­ниц на значения переменных Dj. Если Dj не назначена, то ее определяют по зависимости:

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

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