Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_4_Булево (из конспект_СК_13).doc
Скачиваний:
3
Добавлен:
11.08.2019
Размер:
258.05 Кб
Скачать

Задачи булевого программирования. Пример.

Постановка задачи: некоторая фирма, производящая народный продукт, имеющая мощность М1, планирующая своё расширение; в связи с этим предложено n возможных мест для строительства дополнительных мощностей относительно которых известно планируемые мощности m1,…,m2, затраты на строительство объекта S1,…,Sn, а также затраты на производство единицы продукции z1,..,z2. По прогнозам спрос на продукцию будет составлять M единиц. Требуется составить модель для определения местоположения и мощностей строящихся объектов, если суммарные на строительство, не должны превышать S, спрос должен быть удовлетворён, а затраты на производство продукции минимизированы.

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

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

Найти (перменные): - будем строить или нет.

Цель: минимизировать затраты.

Критерий качества: (минимизируется) (1).

Ограничения:

- ограничения по затратам на строительство,

- удовлетворение спроса,

- целые, (2).

Задача (1), (2) – модель выбора местоположения и производственной структуры, которая относиться к классу детерминированных статических моделей. Задача целочисленного программирования, булевого.

Метод лексикографического перебора.

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

Все переменные исходной задачи упорядочиваются по быстроте изменения. Если никаких дополнительных соображений при этом не использовать, то этот порядок будет соответствовать естественному порядку нумерации переменных исходной формализованной записи оптимизационной задачи: самой медленноменяющейся переменной будет x[1], а самой быстроменяющейся - x[n].

В процессе перебора каждая переменная принимает последовательно значения 0 и 1. Уменьшение объема вычислений обеспечивается применением фильтрующего ограничения. Фильтрующее ограничение первый раз возникает как только находится план задачи , считаем на нем значение целевой функции и в дальнейшем рассматриваются только те наборы, которые удовлетворяют фильтрующему ограничению . Если дальше находится план с лучшим значением целевой функции, то его используют для построения фильтрующего ограничения. Поскольку чем более жесткие ограничения тем меньше перебор, то самой быстроменяющейся переменной лучше взять переменную с наибольшим коэффициентом линейной целевой функции. С этой же целью первыми лучше проверять более жесткие ограничения, те которым не удовлетворяют большее число вариантов.

Когда все ограничения выполнены, то решением будет последний план, который определял фильтр.

Замечание1. Метод записан для задачи С очевидными изменениями метод применим для задачи на минимум.

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