
1608
.pdf6.3. Задача о рюкзаке
Кому не приходилось решать такую бытовую задачу: человек собирается в поход, многое хотелось бы взять с собой, но набор предметов, которые действительно будут взяты с собой, диктуется их полезностью (неотложной потребностью в походе, необходимостью), размерами этих предметов, их массами, размерами рюкзака и допустимым весом рюкзака (физической подготовленностью, тренированностью, выносливостью туриста). Так можно на бытовом уровне изложить проблему, которая именуется задачей о рюкзаке, а также ее называют задачей об упаковках.
В инженерной практике эта задача решается применительно к формированию пакета предметов (вещей), подлежащих транспортировке (космический корабль, самолет, автомобиль), когда в виде ограничений выступает не только объем или площадь отведенного места для укладки этих предметов, но и допустимая грузоподъемность соответствующего транспортного средства. В другом случае, когда формируется стационарный блок, то ограничение по грузоподъемности может отсутствовать, но может возникнуть ограничение по занимаемой площади и т.п. Эти краткие пояснения дают представление о том, какую проблему решает задача о рюкзаке.
Рассматриваемая типовая задача линейного программирования имеет следующую математическую постановку:
ci полезность i-го предмета, подлежащего укладке в рюкзак;
ai вес (а в общем случае, любой заданный параметр) i-го
предмета;
b – заданный объем, вес рюкзака.
Необходимо из рассматриваемого множества предметов скомпоновать рюкзак, не превысив допустимого параметра (веса или объема) рюкзака, обеспечив при этом максимальную суммарную полезность предметов, уложенных в рюкзак.
Для математической постановки рассматриваемой задачи введем дополнительную искомую переменную xi , причем xi 1, если i-ый предмет подлежит укладке в рюкзак и xi 0 , если наоборот.
Задача о рюкзаке имеет следующую математическую формулировку: обеспечь максимум суммарной полезности предметов, уложенных в рюкзак – это целевая функция
70
m |
|
R(xi ) ci xi max , |
(69) |
i 1 |
|
где m – общее количество предметов.
Достижение максимума целевой функции (69) будет происходить в реальных условиях следующих ограничений:
1.Ограничение по весу рюкзака, т.е., какие бы предметы не собирались для укладки в рюкзак, их суммарный вес (объем, площадь и т.п.) не должны превышать предельно допустимого веса (объема, площади и т.п.) рюкзака, т.е.
m |
|
||
ai xi b . |
(70) |
||
i 1 |
|
||
2. Условие неотрицательности решения задачи, т.е. |
|
||
|
|
||
0 xi 1 i |
1,m |
|
(71) |
Решение задачи (69)–(71), допустим, симплекс-методом, позволяет скомпоновать оптимальный состав предметов, подлежащих укладке в рюкзак.
Вопросы и задания для самоконтроля
1.Какие инженерные проблемы можно решить, используя задачу о коммивояжере?
2.Каковы ограничения и целевая функция задачи маршрутизации?
3.Условие односвязанности маршрута.
4.Каковы ограничения и критерий оптимальности задачи о
смесях?
5.Какой метод используется для решения задачи маршрутизации?
6.Что требует условие неотрицательности решения применительно к задаче о ресторане.
7.Каковы особенности постановки задач о смесях и диете?
8.Сформулировать математическую постановку задачи об упаковках.
71
ГЛАВА 7. ТЕОРИЯ ИГР
7.1.Понятие игры
Втеории игр под игрой понимается круг жизненных ситуаций, описание которого можно сделать достаточно точным.
Вэто понятие включаются и конфликтные ситуации, участники которых выбором своих действий не только достигают своих личных целей, но и влияют на достижимость целей других участников, действующих в этих же ситуациях.
Такое толкование игры охватывает не только шахматы и преферанс, но и политические, военные, экономические и многие другие конфликты.
Теория игр - математическая дисциплина. В ней уточняются и формализуются такие понятия, как «игрок», «ход», «стратегия», «партия игры», «коалиция» и многие другие.
Основная задача, решаемая в теории игр, – это поиск для каждого из участников конфликта его рациональной стратегии поведения и оценка предвидимых последствий при рациональном поведении игроков.
Для анализа игры строится ее формальная модель, описывающая конфликтную ситуацию: возможности игроков, правила игры и согласованное определение понятия «справедливое решение». В частности, модель игры характеризуют стратегии, которыми располагает каждый игрок, информация, которую он имеет, возможности обмена информацией, допустимость дезинформации и принципы формирования коалиций, добивающихся лучших результатов за счет координации своих действий. Модель игры позволяет оценивать гарантированный выигрыш игрока, выбравшего ту или иную стратегию поведения.
7.2.Матричные игры
иосновная теорема матричной игры
Втеории игр рассматриваются игры двух и игры многих лиц. Игры, в которых каждый игрок может делать только один ход и многоходовые игры. Стратегии игроков могут использовать или не использовать случайный механизм (подбрасывание монеты, тасовка карт). В конфликтных ситуациях, в которых допустимо применение
72
случайного механизма, последствия игры определяются средним выигрышем при многократном повторении игры.
Простейшие игры – это игры двух лиц с нулевой суммой, т.е. парные игры, в которых выигрыш одного игрока совпадает с проигрышем другого. В игре двух лиц с нулевой суммой и конечным числом стратегий у каждого игрока под оптимальными стратегиями естественно понимать стратегии, при которых достигается максимально возможный гарантированный результат в наименее благоприятных условиях. Этот принцип называется принципом максимина.
Вигре двух лиц с нулевой суммой существование оптимальной (максиминной) стратегии в каждой отдельной партии гарантируется только в играх с полной информацией. В игре с неполной информацией максиминная стратегия обеспечивается лишь при применении случайного механизма для выбора очередного хода и многократном повторении игры. В этом случае говорят об использовании так называемых смешанных стратегий.
Вболее сложных играх поиск оптимальных стратегий поведения связан с понятием рационального, справедливого решения игры (так называемый принцип оптимальности в игре), определяемого в зависимости от конкретных содержательных особенностей конфликта.
Принципы оптимальности в теории игр вводятся как некоторые правдоподобные описания представлений о фактическом поведении игроков, принимающих решения в условиях конфликта или неопределенности. Все предложенные до сих пор принципы оптимальности прямо или косвенно отражают идею устойчивости ситуации, удовлетворяющей этим принципам. Однако в различных принципах оптимальности интуитивно оправданная идея устойчивости реализуется по-разному.
Многие принципы оптимального поведения игроков могут оказаться нереализуемыми и потому неприменимыми.
Именно поэтому является важным изучение условий, при которых те или иные интуитивно оправданные принципы оптимальности оказываются реализуемыми, а доказательства соответствующих теорем существования игры являются центральной проблемой теории игр, тесно связанной с проблемой выбора из множества допустимых альтернатив и проблемой группового выбора.
Пусть дана платежная матрица (матрица эффективности)
73

|
aij |
|
|
|
; i n; j m , |
(72) |
|
|
|
элемент aij которой дает значение критерия эффективности при
применении первым игроком (оперирующей стороной) i-й стратегии (i-ой строки матрицы) и вторым игроком (противником) – j-ой стратегии (j-го столбца).
Представленные в таком виде игры с конечным числом стратегий (N и М) у обеих сторон обычно называются матричными.
Если при выборе своих стратегий оба игрока не имеют информации о выборе другого, то для них имеет смысл применение смешанных стратегий.
Математическое ожидание платежа определяется при этом по формуле
|
|
|
|
|
n m |
|
|
|
|
|
|
(P,Q) aij pi |
q j , |
|
|
W |
(73) |
||||||
|
|
|
|
|
i 1 j 1 |
|
|
где P – вектор P pi (при |
i n ); pi |
– вероятность применения |
первым игроком i-ой стратегии, при условии
n |
|
|
pi 1. |
|
|
i 1 |
|
|
Аналогично и для второго игрока |
|
|
Q q j (при |
j m ) |
(74) |
m
и q j 1.
j1
Это уже критерий эффективности в непрерывной игре стратегий P и Q на выпуклых множествах N и М, соответственно.
Множества N и M определяются условиями
n |
|
|
pi |
1; |
pi 0 ; |
i 1 |
|
|
74

m |
|
|
q j |
1; |
q j 0 . |
j 1 |
|
|
При этом игра (72 -76) имеет седловую точку
max min W (P,Q) max min W (P,Q);
P N Q M ; P N.
(75)
(76)
Основная теорема матричных игр фон Неймана формулируется следующим образом.
В игре (72)-(76) имеется седловая точка, т. е. выполнено условие (73). Или иначе, любая матричная игра имеет седловую точку в смешанных стратегиях.
Доказательство этой теоремы основано на теории множеств. Заметим только, что множество оптимальных смешанных
стратегий оперирующей стороны (равно как и противника в антагонистической игре) является выпуклым и замкнутым.
7.3. Понятие решения матричной игры
Решением игры называется определение ее цены (значений) и оптимальных смешанных стратегий. «Минимальная» игра получается, если у оперирующей стороны есть только две стратегии. Например, выбор между технической новинкой и старым образцом. Так возникают игры типа 2*m
a1 am |
|
|
|
b1 bm |
|
, |
(77) |
|
|
|
где m отражает богатство стратегий противника.
Наукой установлено, что решением матричной игры с платежной матрицей aij
при i n, j m эквивалентно решение двойственных
задач линейного программирования
n |
|
min xi , |
(78) |
i1
75

n |
|
|
при aij xi |
1, j=1,2,…,m; |
(79) |
i1 |
|
|
m |
|
|
max y j ; |
(80) |
|
j1 |
|
|
m |
|
|
при aij y j |
1, i=1,2,…,n, |
(81) |
j1
где xi и yJ - величины, обратные V (P) и V (Q) , соответственно; V (P) - цена игры оперирующей стороны;
V (Q) - цена игры противника.
x i |
|
|
Pi |
|
; |
(82) |
||
V (P ) |
||||||||
|
|
|
|
|||||
y j |
|
|
Pj |
. |
|
(83) |
||
|
|
|
|
|
||||
|
|
|
|
|||||
V (Q) |
|
|
|
7.4.Связь теории игр и линейного программирования
Вобщем случае, любая задача линейного программирования
сводится |
к так |
называемой симметричной |
игре, когда |
матрица |
|||||||||||||||||
А= |
|
|
|
aij |
|
|
|
|
кососимметричная, |
т.е. |
aij |
= -aji |
или много использованы |
||||||||
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
смешанные стратегии. |
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
Образуем квадратную кососимметричную матрицу |
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
. |
. |
0 |
a11 |
. |
. |
. |
a1m |
c1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
. |
. |
0 |
a1n |
. |
. |
. anm |
cn |
|
|
|
|
|
|
|
|
|
|
|
|
B |
a11 |
. |
. |
a1m |
0 |
. |
. |
. |
0 |
b1 |
, |
(84) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
an1 |
. |
. |
anm |
0 |
. |
. |
. |
0 |
bn |
|
|
|
|
|
|
|
|
|
|
|
|
c1 |
. |
. cm |
b1 |
. |
. |
. |
bm |
|
|
|
где cj и bi - некоторые константы.
76
Связь теории игр и линейного программирования впервые обнаружена Данцигом и фон Нейманом. Однако это не может быть применимо к поиску наилучших чистых гарантирующих стратегий, максиминов и минимаксов в чистых стратегиях. Эти задачи, как и точные решения непрерывных игр, являются пока самостоятельной и довольно сложной проблемой.
Вопросы и задания для самоконтроля
1.Дать понятие игры
2.Что такое матричная игра?
3.Сформулируйте основную теорему матричной игры
4.В чем состоит основная задача игры?
5.Что такое максиминная стратегия игры?
6.Что такое смешанные стратегии?
7.Что понимается под решением матричной игры?
8.Какова связь теории игр и линейного программирования?
77
Приложение
Исходные данные к типовому расчёту “Транспортная задача”
№ |
a1 |
a2 |
a3 |
b1 |
b2 |
b3 |
|
b4 |
|
|
|
|
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
8 |
1 |
3600 |
2000 |
8800 |
2000 |
6800 |
1000 |
|
4500 |
2 |
3700 |
2100 |
8600 |
2200 |
6600 |
1100 |
|
4400 |
3 |
3800 |
2200 |
8400 |
2400 |
6400 |
1200 |
|
4300 |
4 |
3900 |
2300 |
8200 |
2600 |
6200 |
1300 |
|
4200 |
5 |
4000 |
2400 |
8000 |
2800 |
6000 |
1400 |
|
4100 |
6 |
4100 |
2500 |
7800 |
3000 |
5800 |
1500 |
|
4000 |
7 |
4200 |
2600 |
7600 |
3200 |
5600 |
1600 |
|
3900 |
8 |
4300 |
2700 |
7400 |
3400 |
5400 |
1700 |
|
3800 |
9 |
4400 |
2800 |
7200 |
3600 |
5200 |
1800 |
|
3700 |
10 |
4500 |
2900 |
7000 |
3800 |
5000 |
1900 |
|
3600 |
11 |
4600 |
3000 |
6800 |
4000 |
4800 |
2000 |
|
3500 |
12 |
4700 |
3100 |
6600 |
4200 |
4600 |
2100 |
|
3400 |
13 |
4800 |
3200 |
6400 |
4400 |
4400 |
2200 |
|
3300 |
14 |
4900 |
3300 |
6200 |
4600 |
4200 |
2300 |
|
3200 |
15 |
5000 |
3400 |
6000 |
4800 |
4000 |
2400 |
|
3100 |
16 |
4900 |
3500 |
6000 |
5000 |
3800 |
2500 |
|
3000 |
17 |
4800 |
3600 |
6000 |
5200 |
3600 |
2600 |
|
2900 |
18 |
4700 |
3700 |
6000 |
5400 |
3400 |
2700 |
|
2800 |
19 |
4600 |
3800 |
6000 |
5600 |
3200 |
2800 |
|
2700 |
20 |
4500 |
3900 |
6000 |
5800 |
3000 |
2300 |
|
2600 |
21 |
4400 |
4000 |
6000 |
6000 |
2800 |
3000 |
|
2500 |
22 |
4300 |
4100 |
6000 |
6200 |
2600 |
3100 |
|
2400 |
23 |
4200 |
4200 |
6000 |
6400 |
2400 |
3200 |
|
2300 |
24 |
4100 |
4300 |
6000 |
6600 |
2200 |
3300 |
|
2200 |
25 |
4000 |
4400 |
6000 |
6800 |
2000 |
3400 |
|
2100 |
26 |
3900 |
4500 |
6000 |
7000 |
1800 |
3500 |
|
2000 |
27 |
3800 |
4600 |
6000 |
7200 |
1600 |
3600 |
|
1900 |
28 |
3700 |
4800 |
6000 |
7400 |
1400 |
3700 |
|
1800 |
29 |
3600 |
4800 |
6000 |
7600 |
1200 |
3800 |
|
1700 |
30 |
3500 |
4900 |
6000 |
7800 |
1000 |
3900 |
|
1600 |
31 |
180 |
150 |
120 |
120 |
110 |
80 |
|
140 |
78
Окончание приложения
№ |
c11 |
c12 |
c13 |
c14 |
c21 |
c22 |
c23 |
c24 |
c31 |
c32 |
c33 |
c34 |
|
п\п |
|||||||||||||
|
|
||||||||||||
1 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
4 |
5 |
2 |
7 |
3 |
6 |
1 |
8 |
2 |
9 |
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
10 |
1 |
2 |
8 |
3 |
7 |
1 |
4 |
2 |
5 |
6 |
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
8 |
2 |
1 |
3 |
9 |
1 |
10 |
2 |
7 |
4 |
6 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
2 |
10 |
3 |
1 |
1 |
8 |
2 |
4 |
6 |
7 |
5 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
3 |
2 |
5 |
1 |
1 |
2 |
8 |
9 |
10 |
7 |
2 |
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
3 |
3 |
1 |
10 |
2 |
1 |
7 |
6 |
8 |
2 |
5 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
9 |
1 |
3 |
2 |
9 |
7 |
1 |
8 |
2 |
6 |
4 |
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
1 |
10 |
2 |
3 |
2 |
7 |
9 |
1 |
8 |
4 |
6 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
8 |
1 |
7 |
3 |
3 |
2 |
2 |
6 |
1 |
4 |
10 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
2 |
10 |
1 |
7 |
3 |
2 |
2 |
6 |
5 |
1 |
4 |
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
5 |
2 |
7 |
1 |
2 |
3 |
3 |
2 |
9 |
8 |
1 |
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
4 |
10 |
2 |
2 |
1 |
5 |
3 |
3 |
2 |
7 |
8 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
9 |
7 |
2 |
2 |
10 |
1 |
8 |
3 |
3 |
2 |
1 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
9 |
2 |
8 |
7 |
2 |
6 |
1 |
10 |
3 |
1 |
2 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
2 |
10 |
4 |
7 |
6 |
2 |
5 |
1 |
1 |
3 |
3 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
7 |
2 |
10 |
8 |
6 |
4 |
2 |
1 |
1 |
5 |
2 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
10 |
4 |
2 |
6 |
9 |
5 |
1 |
2 |
8 |
1 |
3 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
12 |
5 |
7 |
2 |
6 |
1 |
4 |
8 |
2 |
3 |
1 |
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
9 |
10 |
11 |
8 |
1 |
13 |
4 |
2 |
3 |
2 |
7 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
14 |
16 |
8 |
1 |
10 |
2 |
2 |
3 |
3 |
4 |
1 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
8 |
4 |
1 |
6 |
17 |
2 |
2 |
3 |
17 |
1 |
3 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
10 |
1 |
18 |
9 |
2 |
3 |
3 |
2 |
1 |
7 |
2 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
1 |
6 |
7 |
2 |
3 |
3 |
19 |
1 |
2 |
2 |
4 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
7 |
1 |
2 |
3 |
3 |
7 |
1 |
17 |
2 |
2 |
20 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
22 |
2 |
1 |
3 |
10 |
1 |
16 |
2 |
14 |
8 |
2 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
2 |
3 |
3 |
1 |
1 |
27 |
2 |
21 |
19 |
15 |
8 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
3 |
2 |
16 |
1 |
1 |
2 |
7 |
4 |
5 |
6 |
2 |
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
3 |
3 |
1 |
28 |
2 |
1 |
6 |
8 |
10 |
2 |
7 |
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
9 |
1 |
3 |
2 |
29 |
21 |
1 |
11 |
2 |
10 |
14 |
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
1 |
8 |
2 |
3 |
2 |
7 |
4 |
1 |
5 |
6 |
9 |
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
15 |
3 |
7 |
12 |
4 |
5 |
11 |
9 |
10 |
8 |
2 |
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79