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

4. Дискретное программирование

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

Пример 3. Мебельная фабрика выпускает диваны, кресла и стулья. Требуется определить, сколько можно изготовить спинок диванов, подлокотников кресел и ножек стульев при известном удельном расходе ресурсов (табл. 4)., чтобы доход был максимальным.

Таблица 4.

Изделия

Наличие ресурса

Показатели

спинка дивана

подлокотники кресла

ножка стула

Цена, д. е./ед.

20

6

8

Древесина

10

5

3

206

Трудозатраты

2

7

4

100

Спрос

10

8

12

x1

x2

x3

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

Решение. С учетом этих требований математическая модель задачи запишется:

L =

10,

10,

10,

где - варианты количества подлокотников и ножек (k = 1, …, ki).

Здесь дополнительное введение булевых переменных дает возможность обеспечить выпуск изделий в кратном задан­ном количестве. Так, для подлокотников x2 может принимать следующие значения: если в результате решения будет получено , а остальные то x2; если , а остальные , то x2 = 4 и т.д.

Для решения задачи с учетом дополнительных условий мы ввели еще семь переменных и четыре ограничения. Следовательно, введение дополнительных требований при­вело к увеличению размерности задачи. Заметим, что если бы нам требовалось определить выпуск спинок, подлокотников и ножек для одного изделия (комплекта), то можно было бы записать x2 = 1; х3 = 4x1 и не вводить дополни тельных ограничений и булевых переменных. Но это была бы другая задача.

В результате решения задачи были получены следующие значения: max L = 320; = 1; = 4; = 12; 0;

При этом оказались не полностью использованы ресур­сы: резерв первого равен 50, второго — 4 ед.

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

В общем виде задачу распределения ресурсов с учетом требования дискретного значения переменных можно за­писать:

max(min)

где , , …, , … — дискретные значения, которые может принимать переменная . Эта система отличается от обычной задачи распределения ресурсов появлением бу­левых переменных и увеличением числа ограничений:

max(min)

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

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