Метод Гомори решения задач целочисленного программирования

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 29.04.2018
Размер файла 68,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Сибирский федеральный университет

Метод Гомори решения задач целочисленного программирования

Соловьева Т.А.

Христофорова Е.И.,

научный руководитель:

доцент кафедры «Высшей математики - 3»

Климович Л.В.

Цель: изучить метод решения задач целочисленного программирования.

Объект исследования: задачи линейного программирования.

Предмет исследования: метод Гомори для решения задач целочисленного программирования.

Задачи:

1. изучить метод решения задач целочисленного программирования.

2. решить задачу целочисленного программирования методом Гомори.

В настоящее время нельзя назвать область человеческой деятельности, в которой не приходилось бы делать выбор. Многие задачи, с которыми приходится иметь дело, являются многовариантными. Среди множества рассматриваемых вариантов, мы привыкли принимать решение, исходя из здравого смысла, опыта или просто «на глаз». Однако это решение не всегда являлось верным, экономически выгодным и оптимальным. При современных масштабах производства даже незначительные ошибки оборачиваются громадными потерями. В связи с этим возникла необходимость применять для анализа определенные новые метода расчета. Такие методы объединили под общим названием «математическое программирование».

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

Нас будет интересовать линейное целочисленное программирование.

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

Наиболее естественным классом практических задач, которые сводятся к задачам целочисленного программирования, являются задачи, в которых переменные -- физически неделимые величины (например, количество единиц какой-либо продукции: груз, оборудование).

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

Задача. В цехе предприятия решено установить дополнительное оборудование, для размещения которого выделено 19 м2 площади. На приобретение оборудования предприятие может израсходовать 16 млн. руб., при этом оно может купить оборудование двух видов. Комплект оборудования I вида стоит 4 млн. руб., а II вида - 1 млн. руб. Приобретение одного комплекта оборудования I вида позволяет увеличить выпуск продукции в смену на 8 ед., а одного комплекта оборудования II вида - на 6 ед. Зная, что для установки одного комплекта оборудования I вида требуется 2 м2 площади, а оборудования II вида - 5 м2 площади, определить такой набор дополнительного оборудования, который дает возможность максимально увеличить выпуск продукции.

Решение. Составим математическую модель задачи. Предположим, что предприятие приобретет х1 комплектов I вида и х2 комплектов оборудования II вида. Тогда переменные х1 и х2 должны удовлетворять следующим неравенствам:

Если предприятие приобретет указанное количество оборудования, то общее увеличение выпуска продукции составит

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

Приведем систему ограничений к каноническому виду, прибавив дополнительные переменные х3, х4.

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

Решим ее симплекс-методом без учета требования целочисленности (табл. 1).

Таблица 1

базис

х1

х2

х3

х4

bi

сi

х3

2

5

1

0

19

19/2

х4

4

1

0

1

16

4

-F

8

6

0

0

0

х2

0

1

2/9

- 1/9

22/9

х1

1

0

- 1/18

5/18

61/18

-F

0

0

- 8/9

-14/9

-376/9

Все коэффициенты целевой функции при свободных переменных отрицательны, следовательно, найдено оптимальное решение: Fmax= 376/9=41 при плане .

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

; . Выбираем первое уравнение.

В общем виде это уравнение имеет вид:

Согласно этому уравнению составляется следующее неравенство (ограничение, отсечение):

Приведем уравнение к канонической форме и свободный член перенесем в правую часть.

Это уравнение присоединим к системе ограничений решенной задачи, т.е. составим новую таблицу Гаусса с дополнительным столбцом для нового неизвестного xn+1, содержащую последний блок таблицы решенной задачи и новую строку, соответствующую построенному уравнению (табл. 2).

Таблица 2

базис

х1

х2

х3

х4

x5

bi

сi

х2

0

1

2/9

- 1/9

0

22/9

11

х1

1

0

- 1/18

5/18

0

61/18

x5

0

0

- 2/9

- 8/9

1

- 4/9

2

-F

0

0

- 8/9

-14/9

0

-376/9

х2

0

1

1/4

0

- 1/8

5/2

х1

1

0

- 1/8

0

5/16

13/4

x4

0

0

1/4

1

-9/8

1/2

-F

0

0

- 1/2

0

-7/4

-41

Получили новое оптимальное решение: Fmax = 41 при плане

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

Составим новое отсечение:

или уравнение

Новая рабочая таблица имеет вид:

Таблица 3

базис

х1

х2

х3

х4

x5

x6

bi

сi

х2

0

1

1/4

0

- 1/8

0

5/2

х1

1

0

- 1/8

0

5/16

0

13/4

52/5

x4

0

0

1/4

1

-9/8

0

1/2

x6

0

0

- 1/4

0

- 7/8

1

- 1/2

4/7

-F

0

0

- 1/2

0

-7/4

0

-41

х2

0

1

2/7

0

0

- 1/7

18/7

х1

1

0

- 3/14

0

0

5/14

43/14

x4

0

0

4/7

1

0

-9/7

8/7

x5

0

0

2/7

0

1

-8/7

4/7

-F

0

0

0

0

0

-2

-40

Новое оптимальное решение: Fmax= 40 при плане

Таким образом, делаем еще три отсечения с целью получения целочисленного решения (табл. 4).

Таблица 4

базис

х1

х2

х3

х4

x8

x9

bi

сi

х2

0

1

0

0

2

-1

2

х1

1

0

0

0

-1

1

3

x3

0

0

1

0

-8

3

3

x4

0

0

0

1

2

-3

2

-F

0

0

0

0

-4

-2

-36

Получен оптимальный целочисленный план: Fmax = 36 при плане (3;2;3;2). Для нашей задачи достаточно было бы целочисленности только первых двух переменных.

Согласно данному решению предприятию необходимо приобрести 3 комплекта оборудования I вида и 2 комплекта II вида, что даст возможность максимально увеличить выпуск продукции до 36 единиц. Излишнюю площадь х3 = 3 м2 и полученную экономию денежных средств в размере х4 = 2 млн. руб. можно использовать для извлечения дополнительной выгоды.

Таким образом, мы изучили метод решения задач целочисленного программирования. Методом Гомори решили конкретную задачу.

математический программирование целочисленный

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.