Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра компьютерных систем в управлении и проектировании (КСУП)

Контрольная работа № 3

«Целочисленное программирование»

Вариант № 37

Выполнил:

2014

Исходная информация

  i

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

37

8

6

1

9

2

1

6

8

9

8

6

2

6

9

3

4

3

7

2

5

2

5

9

4


Контрольная работа 3

Целочисленное программирование

1. Формулировка задачи линейного программирования

Исходные данные:

i

1

2

3

i

7

8

9

i

3

6

9

i

19

20

21


.

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

- целые .

2. Содержательная постановка задачи

В цехе решено установить три вида станков, для размещения которых отводится 7 м2 площади. На приобретение оборудования выделено 7 млн. руб. Станок 1-го типа стоит 6 млн. руб. и производит продукции на 1 млн. руб. в месяц; Станок 2-го типа стоит 8 млн. руб. и производит продукции на 1 млн. руб. в месяц. Станок 3-го типа стоит 9 млн. руб. и производит продукции на 9 млн. руб. в месяц. Сколько станков каждого типа нужно купить и установить для получения максимальной выручки от выпущенной продукции, если для размещения одного станка 1-го, 2-го и 3-го типа требуется 8, 6 и 1 м2 площади соответственно?

НЕ нашли? Не то? Что вы ищете?

Обозначения математической модели:

- число установленных станков каждого вида;

- цена месячной продукции станка каждого вида;

- общая площадь, отведенная для размещения станков;

- выделенные денежные средства для закупки станков;

- площадь, необходимая для размещения станка -го вида;

- цена одного станка каждого вида.

3. Определение оптимального решения модели методом ветвей и границ

Шаг 1. Исходное допустимое решение .

Исходная задача заносится в дерево задач в качестве задачи 1.

Нижняя граница оптимального значения целевой функции на первой итерации

Итерация 1

       Шаг 2. Выбираем задачу 1.

       Шаг 3. Решаем задачу линейного программирования, соответствующую задаче 1:

Обозначим через значение целевой функции и введем остаточные переменные .

Дерево задач:

В результате получим систему уравнений (I):

,                (0)

               (1)

,                (2)

где .

Исходное базисное решение:

; ; .

Базисные переменные .

Итерация 1

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

Шаг 3. Наибольшее возможное значение определяется уравнением (2), где отношение наименьшее.

Шаг 4. Замена опорного плана.

а) разделим строку (2) на 9

б) умножим строку (2) на 9 и результат прибавим к строке (0)

в) умножим строку (2) на (-1) и результат прибавим к строке (1)

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

,                        (0)

               (1)

               (2)

Значения переменных нового базиса:

; ; .

Целевая функция увеличилась до .

Итерация 2

Шаг 2. Так как в строке (0) все коэффициенты положительны, получено оптимальное решение.

.

       Шаг 4. Полученное оптимальное решение задачи не является целочисленным, поэтому переход на шаг 5.

       Шаг 5. Выбираем переменную , которая в полученном решении имеет нецелочисленное значение . Запишем в дерево две задачи: в задаче 2 добавляется ограничение , в задаче  3 добавляется ограничение . Принимаем

Итерация 2

       Шаг 2. Выбираем задачу 2.

       Шаг 3. Решаем задачу линейного программирования, соответствующую задаче 2:

Из и следует , поэтому исключим эту переменную из задачи:

Полученную задачу с двумя переменными решим графически:

Оптимальное наибольшее значение целевой функции в области допустимых значений соответствует экстремальной точке b. В этой точке

,        откуда        .

Целевая функция увеличилась до .

Получено оптимальное решение .

       Шаг 4. Полученное оптимальное решение задачи не является целочисленным, поэтому переход на шаг 5.

       Шаг 5. Выбираем переменную , которая в полученном решении имеет нецелочисленное значение . Запишем в дерево две задачи: в задаче 4 добавляется ограничение , в задаче 5 добавляется ограничение . Принимаем

Итерация 3

       Шаг 2. Выбираем задачу 4.

       Шаг 3. Решаем задачу линейного программирования, соответствующую задаче 4:

Из и следует , поэтому исключим эту переменную из задачи:

Решение этой задачи: ; .

Получено оптимальное решение .

       Шаг 4. Полученное оптимальное решение задачи не является целочисленным, поэтому переход на шаг 5.

       Шаг 5. Запишем в дерево две задачи: в задаче 6 добавляется ограничение , в задаче 7 . Принимаем

Итерация 4

       Шаг 2. Выбираем задачу 6.

       Шаг 3. Задача линейного программирования, соответствующая задаче 6:

       имеет решение ; .

Получено оптимальное решение .

       Шаг 4. Полученное оптимальное решение задачи является целочисленным, принимаем Переходим на шаг 2.

Итерация 5

       Шаг 2. Выбираем задачу 7.

       Шаг 3. Задача линейного программирования, соответствующая задаче 7:

не имеет допустимого решения (система ограничений несовместна).

Принимаем

Итерация 6

       Шаг 2. Выбираем задачу 5.

       Шаг 3. Задача линейного программирования, соответствующая задаче 5:

Графическая модель:

Задача не имеет допустимого решения.

Принимаем

Итерация 7

       Шаг 2. Выбираем задачу 3.

       Шаг 3. Задача линейного программирования, соответствующая задаче 3:

Представим переменную в виде , где .

Получим

Система ограничений несовместна (при неотрицательных значениях переменных второе неравенство не может выполняться).

Задача не имеет допустимого решения.

Принимаем

Итерация 8

Шаг 2. В дереве задач не осталось нерассмотренных висячих вершин. Выполнение алгоритма закончено: .

Оптимальное целочисленное решение:

4. Математическая модель с учетом дополнительных условий:

а) станки типа 1 устанавливаются только в том случае, если устанавливаются станки хотя бы одного типа 2 и 3;

б) установка станков типа 2 возможна только в том случае, если не устанавливаются станки типа 1 и не устанавливаются станки типа 3.

Пусть - достаточно большое положительное число.

Ограничение (а) можно выразить дополнительным условием

.

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

Пусть - достаточно большие положительные числа и - логическая переменная.

Ограничение (б) можно выразить дополнительными условиями .

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

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

То есть случай соответствует возможности при , а случай соответствует требованию при или .

Математическая модель:

- логическая переменная,

- целые .

5. Математическая модель транспортной задачи с учетом дополнительных условий:

а) для любого из восьми пунктов транспортной сети могут использоваться

не более двух дорог, связывающих его с соседними пунктами;

б) общая длина всех дорог транспортной сети не может превышать 40. (В

качестве длины дороги между пунктами i и j следует взять число cij).

Введем логические переменные .

Пусть - достаточно большие положительные числа.

Введем дополнительные условия:

.

При первое неравенство можно не учитывать, а из второго следует .

При второе неравенство можно не учитывать, а из первого следует .

То есть выполняется .

Тогда ограничение (а) можно выразить дополнительными условиями .

Ограничение (б) можно выразить дополнительным условием .

Математическая модель:

,

- логические переменные .