Бизнес-портал для руководителей, менеджеров, маркетологов, экономистов и финансистов

Поиск на AUP.Ru


Объявления

А.И. Орлов
Основы теории принятия решениий

Учебное пособие. Москва, 2002.

Предыдущая

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

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

          Задача о выборе оборудования. На приобретение оборудования для нового участка цеха выделено 20000 долларов США. При этом можно занять площадь не более 38 м2. Имеется возможность приобрести станки типа А и станки типа Б. При этом станки типа А стоят 5000 долларов США, занимают площадь 8 м2 (включая необходимые технологические проходы) и имеют производительность 7 тыс. единиц продукции за смену. Станки типа Б стоят 2000 долларов США, занимают площадь 4 м2 и имеют производительность 3 тыс. единиц продукции за смену. Необходимо рассчитать оптимальный вариант приобретения оборудования, обеспечивающий при заданных ограничениях максимум общей производительности участка.

Пусть Х - количество станков типа А, а У - количество станков типа Б, входящих в комплект оборудования. Требуется выбрать комплект оборудования так, чтобы максимизировать производительность С участка (в тыс. единиц за смену):

С = 7 Х + 3 У → max .

При этом должны быть выполнены следующие ограничения: по стоимости (в тыс. долларов США)

5 Х + 2 У  ≤  20,

по занимаемой площади (в м2 )

8 Х + 4 У ≤  38,

а также вновь появляющиеся специфические ограничения по целочисленности, а именно,

Х ≥ 0 , У ≥ 0 ,  Х и У - целые числа.

Сформулированная математическая задача отличается от задачи линейного программирования только последним условием целочисленности. Однако наличие этого условия позволяет (в данном конкретном случае) легко решить задачу перебором. Действительно, как ограничение по стоимости, так и ограничение по площади дают, что Х ≤ 4. Значит, Х может принимать лишь одно из 5 значений: 0, 1, 2, 3, 4.

Если Х = 4, то из ограничения по стоимости следует, что У = 0, а потому С =  7 Х =  28.

Если Х= 3, то из первого ограничения вытекает, что У ≤  2, из второго У ≤ 3. Значит, максимальное С при условии выполнения ограничений достигается при У =2, а именно С = 21 + 6 =  27.   

Если Х= 2, то из первого ограничения следует, что У ≤  5, из второго также У ≤ 5. Значит, максимальное С при условии выполнения ограничений достигается при У =5, а именно С = 14 + 15 =  29.

Если Х= 1, то из первого ограничения имеем У ≤  7, из второго также У ≤ 7. Значит, максимальное С при условии выполнения ограничений достигается при У = 7, а именно С =  7 + 21 =  28.

Если Х= 0, то из первого ограничения вытекает У ≤ 10, из второго У ≤ 9. Значит, максимальное С при условии выполнения органичений достигается при У = 9, а именно С =  27.

Все возможные случаи рассмотрены. Максимальная производительность С = 29 (тысяч единиц продукции за смену) достигается при Х = 2, У = 5. Следовательно, надо покупать 2 станка типа А и 5 станков типа Б.

Задача о ранце. Общий вес ранца заранее ограничен. Какие предметы положить в ранец, чтобы общая полезность отобранных предметов была максимальна? Вес каждого предмета известен.

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

Перейдем к математической постановке. Предполагается, что имеется n предметов, и для каждого из них необходимо решить, класть его в ранец или не класть. Для описания решения вводятся булевы переменные Хk , k = 1,2,…,n  (т.е. переменные, принимающие два значения, а именно, 0 и 1). При этом  Хk = 1, если предмет размещают в ранце, и Хk = 0, если нет, k = 1,2,…,n. Для каждого предмета известны две константы: А- вес k-го предмета и  Сk - полезность k-го предмета, k = 1,2,…,n . Максимально возможную вместимость ранца обозначим В. Оптимизационная задача имеет вид

C1 Х1 + С2 Х2 + С3 Х3 + …. + СnХ→ max ,

А1 Х1 + А2 Х2 + А3 Х3 + …. + АnХ ≤  В.

В отличие от предыдущих задач, управляющие параметры Хk , k = 1,2,…,n , принимают значения из множества, содержащего два элемента - 0 и 1.

К целочисленному программированию относятся задачи размещения (производственных объектов), теории расписаний, календарного  и оперативного планирования, назначения персонала и т.д. (см., например, монографию [3]).

Предыдущая

Объявления