Материал: Основы математического моделирования. курс лекций. Перова А.В

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

При решении практических задач довольно часто могут возникать логические цепочки. EXCEL допускает применение функции ЕСЛИ в цепочке до 7 раз.

Аналогично можно вводить условные ограничения. Условные исходные данные для левых частей (ЛЧ) ограничений вводятся в формате :

=ЕСЛИ (условие; адрес ЛЧ1; адрес ЛЧ2), для правых частей (ПЧ) ограничений формат ввода

аналогичен предыдущему, только вместо ЛЧ1 и ЛЧ2 записываются ПЧ1и ПЧ2.

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

ЛЕКЦИЯ 10 ПРИКЛАДНЫЕ ЗАДАЧИ ЦЕЛОЧИСЛЕННОГО

ПРОГРАММИРОВАНИЯ

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

(ЗЦЛП) называется задача линейного программирования, в которой на переменные наложено требование целочисленности. При этом если все переменные задачи должны принимать целочисленные значения, задача называется полностью целочис-

ленной, иначе – частично целочисленной. Если множество до-

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

Задача о раскрое.

Для изготовления заготовок D1,…,Dm имеется n способов раскроя материала A1,…,An. aij -количество заготовок i-го

типа, получаемых из единицы материала при способе Aj. Имеется D единиц материала. При раскрое единицы материала по способу Aj имеются отходы площадью Cj . Надо произвести не

105

менее bi заготовок i-го типа и выполнить план с минимизаци-

ей отходов.

 

 

 

 

 

 

 

 

Таблица 12

Виды

Способы раскроя

 

 

 

 

План

 

заготовок

A1

 

A2

 

…

An

 

 

произ

 

 

 

 

 

 

 

 

 

 

водства

 

D1

а11

a21

a12

a22

... ...

a1n

a2 n

 

b1

 

D2

...

am1

...

am2

... ...

...

amn

 

b2

 

…

 

 

 

 

 

 

 

 

...

 

Dm

 

 

 

 

 

 

 

 

bm

 

Отходы

C1

 

c2

 

…

cn

 

 

 

 

Пустьxj - количество единиц материала, раскраиваемого

по j-му способу.

Математическая модель задачи запишется следующим образом:

n

 

 

 

 

Cj xj

min;

 

 

 

j 1

 

 

 

 

n

 

 

 

 

aij xj

bi;

i

1,m

;

j 1

 

 

 

 

n

 

 

 

 

xj D;

j1

xj 0, j 1,n,xj целые.

Задача о ранце. Имеются предметы n видов, для каждого предмета j-го вида (j=1,n) известны его объем a j 0 и сто-

имость cj 0. Необходимо определить такой набор предме-

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

называется одномерной задачей о ранце.

Введем целочисленные переменные x j(j 1,n), зна-

чения которых характеризует количество предметов j-го вида,

106

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

n

C jx j max ;

j 1

n

a jx j b;

j 1

x j 0, x j - целое .

Если ограничениями могут быть не только объем ранца, но и другие его характеристики bi , то получим многомерную задачу о ранце.

n

C j xj max ;

j1 n

aij xj bi ,i 1,m;

j 1

xj 0, xj - целое.

В случае, если количество предметов j-го вида ограничено и равно dj, к задаче добавляется ограничение x j dj.

Если dj=1, то получим задачу о ранце с булевыми перемен-

ными. Тогда x j {0,1}, причем xj 1, если j-й предмет по-

мещен в ранец, xj 0 в противном случае.

К задаче о ранце сводится широкий класс задач дискретной оптимизации с ограниченными ресурсами.

Пример 1. Для оценки работоспособности систем перед их эксплуатацией производится проверка их функционирования. При проверке контролируются отдельные параметры системы, каждый из которых характеризуется вероятностью отказа проверяемых элементов qj и временем контроля t j. Так

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

107

Пусть n – общее количество параметров. Введем альтернативные булевы переменные:

1,

есливыбирается j-йпараметр

xj

0

впротивномслучае

 

Тогда математическую модель задачи можно сформу-

лировать как одномерную задачу о ранце:

 

n

 

 

 

q jx j

max;

 

j 1

 

 

 

n

 

 

 

t jx j

T;

 

j 1

 

 

 

x j

{0,1}.

Задача о назначениях. Линейная задача о назначениях .

Имеется n исполнителей и n видов работ, которые они могут выполнять. ПустьCij - производительность i-го испол-

нителя при выполнении j работы. Каждый исполнитель может выполнять один вид работ, а каждый вид работ может быть выполнен одним исполнителем. Требуется таким образом распределить исполнителей по видам работ, чтобы общая производительность была максимальной.

Введем альтернативные переменные xij:

1,

еслиi-йисполнитель назначаетсяна j-ю работу

xij

0

в противном случае

 

Тогда математическая модель задачи имеет вид:

108

n n

Cij xij max;

i 1

j 1

 

 

 

 

 

n

 

 

 

 

 

 

xij

1,i

1,n;

 

 

j 1

 

 

 

 

 

 

n

 

 

 

 

 

 

xij

1, j

 

 

1,n;

i 1

 

 

 

 

 

 

xij {0,1}.

Иногда задача о назначениях формулируется как задача минимизации, если в качестве cij выбирается время, затрачен-

ное i-м исполнителем на выполнение j-й работы. Необходимо заметить, что условие целочисленности

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

К задаче о назначениях сводится широкий круг задач дискретной оптимизации (распределение исполнителей по видам работ, закрепление за станками операций, распределение задач между различными ЭВМ, назначение претендентов на вакантные должности при формировании штатного расписания и т.д).

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

Пусть pij- вероятность соответствия принимаемой j-й

буквы передаваемой i-й букве. Введем альтернативные переменные:

1,

если j-япринимаемая буква соответствует

 

 

 

xij i-йпередаваемой

 

 

в противном

случае

0

109

Источник: https://studfile.net/preview/16568574/