ВВЕДЕНИЕ Переход к методам интенсивного развития, создание новых технологий, проектирование сложных многофункциональных ...
16 downloads
2034 Views
4MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
ВВЕДЕНИЕ Переход к методам интенсивного развития, создание новых технологий, проектирование сложных многофункциональных систем, удовлетворяющих противоречивым требованиям, обеспечение эффективного взаимодействия людей и коллективов в социальных системах требуют выработки рациональных решений, на основе прогноза развития ситуаций. Формирование таких решений обычно опосредовано несовпадающими интересами сторон, реализующих эти решения в партнерском взаимодействии друг с другом или в отношениях конфликта. Из-за несовпадения интересов возникает противоречивость возникающих задач выбора. Важным инструментом повышения качества решений являются научные подходы, раскрывающие фундаментальные характеристики конфликтного поведения на основе математического моделирования процессов выбора. Учебник предназначен для подготовки студентов по направлению и специальности высшего профессионального образования 073000 со специализацией «Мониторинг и прогнозирование чрезвычайных ситуаций», а также для обучения студентов, обучающихся по программам подготовки офицеров запаса по специальностям «Организация защиты информационных технологий» и «Защита информационных технологий».
3
Глава 1 МАТРИЧНЫЕ ИГРЫ Теория игр это одна из отраслей современной математики. Они дает возможность моделировать и изучать широкий спектр конфликтных ситуаций. В том числе конфликтные ситуации, в которых участвуют два (типичная игра в шахматы или торги в магазине) или больше (торги на бирже) участников и конфликтные ситуации, где участник противостоит окружающей среде, – например, случай стихийного бедствия. В случае многих конфликтных ситуаций бывает очень важно спланировать оптимальное поведение и во многих случаях этому может помочь теория игр. Одной из важнейших ответвлений теории игр являются матричные игры. Они помогают решать задачи оптимального поведения в случае двух участников конфликта.
1.1. Предмет и основные понятия теории игр Теория игр – это совокупность математических методов для анализа и оценки правил поведения в конфликтных ситуациях. В качестве примеров конфликтных ситуаций можно назвать: 1. игровые ситуации – шахматы, шашки, карточные игры и т.д. (кстати, название «теория игр» обязано игровым конфликтным ситуациям); 2. любая ситуация, складывающаяся в ходе военных действий и вообще в военном деле (выбор системы вооружения и т.д.); 3. ситуации в судопроизводстве, спорте и т.д.; ситуации в экономике, особенно при наличии рыночной конкуренции.
1.1.1. Основные понятия и определения 1. Игра – это упрощённая, формализованная модель конфликтной ситуации. Игра отличается от реальной ситуации тем, что ведётся она по вполне определённым правилам. Эти правила определяют возможные варианты действий участников игры, последовательность чередования действий сторон и количественный результат, к которому приводит данная совокупность действий сторон. Каждая из соперничающих сторон в теории игр называется игроком. По количеству игроков игры делятся на: 1. игры одного игрока; 2. игры двух игроков, тогда игра называется «парной»; 3. игры трёх и более игроков, тогда игра называется «множественной». 4
Отметим, что игру одного игрока можно считать игрой двух игроков, т.е. «парной», считая вторым игроком природу. Если участники «множественной» игры могут образовывать постоянные коалиции, то такая множественная игра, состоящая из двух постоянных коалиций, также может рассматриваться как «парная». Наибольшее практическое значение имеют парные игры, их мы и рассмотрим. Развитие игры во времени представляется в виде отдельных решений, последовательных этапов или ходов. 2. Ходом называется выбор одного из предусмотренных правилами игры вариантов решения. Ходы делятся на личные и случайные. 3. Личным ходом называется сознательный выбор игроком одного из возможных в данной ситуации игры решений (например, – любой ход в шахматной или шашечной игре). 4. Случайным ходом называется выбор решения некоторым «механизмом случайного выбора» (например – бросание монеты, выбор карты из перетасованной колоды и т.п.). Игры, состоящие только из случайных ходов теорией игр не рассматриваются. Различают игры с полной информацией и игры с неполной информацией. 5. Игра с полной информацией – это такая игра, в которой каждый игрок при каждом личном ходе знает результат всех предыдущих ходов противника и его возможности (например – шахматы, шашки, карточные игры в «открытую»). 6. Игра с неполной информацией – если не выполняются условия предыдущей игры с полной информацией (например, домино, боевые действия, карточные игры в «закрытую»). Отметим, что большинство конфликтных ситуаций, взятых из практики, представляют игры с неполной информацией. 7. Стратегия игрока – есть подробное описание того, как должен поступать игрок (какое должен выбирать решение) во всех возможных ситуациях, сложившихся в процессе игры. Понятие стратегии – одно из основных в теории игр, остановимся на нём несколько подробнее. Обычно игрок в процессе игры не придерживается каких-то жёстких, фиксированных правил, а решение в каждом ходе принимается в зависимости от сложившейся ситуации. Однако теоретически дело не изменится, если такая система решений будет принята заранее. В этом случае говорят, что игрок выбрал определённую стратегию. Теперь он может и не участвовать в игре лично, а заменить своё участие списком правил, которые за него будет применять незаинтересованное лицо (судья, ЭВМ). В зависимости от числа возможных стратегий игры делятся на конечные и бесконечные. 8. Конечная игра – это такая игра, в которой у каждого игрока имеется только конечное число стратегий. 5
9. Бесконечная игра – это такая игра, в которой хотя бы у одного из игроков имеется бесконечное число стратегий. 10. Если стратегия имеет вид «выбрать такое-то решение», то такая стратегия называется чистой стратегией. 11. Если стратегия имеет вид «выбрать решение N1 с вероятностью p1 , решение N 2 с вероятностью p 2 , решение N K с вероятностью p K ( pi ≥ 0 и K
∑p i =1
i
= 1 )», то такая стратегия называется смешанной стратегией.
1.1.2. Классификация игр Классификацию игр можно проводить: по количеству игроков, количеству стратегий, характеру взаимодействия игроков, характеру выигрыша, количеству ходов, состоянию информации и т.д. В зависимости от количества игроков различают игры двух и n игроков. Первые из них наиболее изучены. Игры трёх и более игроков менее исследованы из-за возникающих принципиальных трудностей и технических возможностей получения решения. Чем больше игроков - тем больше проблем. По количеству стратегий игры делятся на конечные и бесконечные. Если в игре все игроки имеют конечное число возможных стратегий, то она называется конечной. Если же хотя бы один из игроков имеет бесконечное количество возможных стратегий, игра называется бесконечной. По характеру взаимодействия игры делятся на: 1) бескоалиционные: игроки не имеют права вступать в соглашения, образовывать коалиции; 2) коалиционные (кооперативные) – могут вступать в коалиции. В кооперативных играх коалиции наперёд определены. По характеру выигрышей игры делятся на: игры с нулевой суммой (общий капитал всех игроков не меняется, а перераспределяется между игроками; сумма выигрышей всех игроков равна нулю) и игры с ненулевой суммой. По виду функций выигрыша игры делятся на: матричные, биматричные, непрерывные, выпуклые, сепарабельные, типа дуэлей и др. Матричная игра – это конечная игра двух игроков с нулевой суммой, в которой задаётся выигрыш игрока 1 в виде матрицы (строка матрицы соответствует номеру применяемой стратегии игрока 2, столбец – номеру применяемой стратегии игрока 2; на пересечении строки и столбца матрицы находится выигрыш игрока 1, соответствующий применяемым стратегиям). Для матричных игр доказано, что любая из них имеет решение и оно может быть легко найдено путём сведения игры к задаче линейного программирования. Биматричная игра – это конечная игра двух игроков с ненулевой суммой, в которой выигрыши каждого игрока задаются матрицами отдельно для соответствующего игрока (в каждой матрице строка соответствует стратегии 6
игрока 1, столбец – стратегии игрока 2, на пересечении строки и столбца в первой матрице находится выигрыш игрока 1, во второй матрице – выигрыш игрока 2.) Для биматричных игр также разработана теория оптимального поведения игроков, однако решать такие игры сложнее, чем обычные матричные. Непрерывной считается игра, в которой функция выигрышей каждого игрока является непрерывной в зависимости от стратегий. Доказано, что игры этого класса имеют решения, однако не разработано практически приемлемых методов их нахождения. Если функция выигрышей является выпуклой, то такая игра называется выпуклой. Для них разработаны приемлемые методы решения, состоящие в отыскании чистой оптимальной стратегии (определённого числа) для одного игрока и вероятностей применения чистых оптимальных стратегий другого игрока. Такая задача решается сравнительно легко.
1.1.3. Матрица игры (платёжная матрица) Имеется конечная игра, в которой первый игрок A , стремящийся получить максимальный выигрыш, имеет m стратегий, а второй игрок B имеет n стратегий. Такая игра называется игрой m × n или матричной игрой. Обозначим: стратегии игрока A : A1 , A2 , ..., Am ;
Ai , i = 1, m ;
стратегии игрока B : B1 , B2 , ..., Bn ;
Bj,
j = 1, n .
Предположим, что каждая сторона выбрала свою стратегию: Ai , B j . Если игра состоит только из личных ходов (личный ход – сознательный выбор игроком одного из возможных в данной ситуации решения), то выбор стратегий Ai , B j однозначно определяет исход игры – выигрыш игрока A (положительный или отрицательный). Обозначим его a ij (положительные коэффициенты – есть выигрыш A , отрицательные коэффициенты a ij – есть выигрыш B или проигрыш A ). Если игра содержит кроме личных и случайные ходы, то выигрыш при паре стратегий Ai и B j есть величина случайная. В этом случае оценкой ожидаемого выигрыша (будем говорить в дальнейшем всегда о выигрыше игрока A ) является математическое ожидание (среднее значение). Будем его обозначать так же через a ij . Предположим, что нам известны значения a ij при каждой паре стратегий. Значения a ij в парной игре удобнее всего представлять в виде прямоугольной таблицы (матрицы). Строки этой матрицы соответствуют стратегиям Ai , а 7
столбцы – стратегиям B j . Такая матрица называется матрицей игры или платёжной матрицей (табл. 1.1.). Таблица 1.1. Bj
B1
B2
. . . .
Bn
A1 A2 . . . .
a11 a21 . . . .
a12 a22 . . . .
. . . . . . . . . . . .
a1n a2n . . . .
Am
am1
am2
. . . .
amn
Ai
Рассмотрим примеры игр и их платёжные матрицы: Пример 1. Задача наступления и обороны. Сторона A («мы») располагает двумя батальонами мехпехоты. Перед ней стоит задача захватить некоторый объект стороны B («противник»). Каждый из батальонов может быть направлен к объекту по любой из двух дорог. Противник имеет три батальона, которые он может любым образом распределить по этим двум дорогам. Известно: 1. Если на дороге встречается 1-й батальон A с 1-м батальоном B , то A с вероятностью p1 подавляет B и занимает объект, а с вероятностью (1 − p1 ) отступает; 2. Если встречаются два батальона A с двумя батальонами B , то с вероятностью p 2 подавляет B и занимает объект, а с вероятностью (1 − p 2 ) отступает; 3. Если 1-й батальон A встречается с 2-мя или 3-мя батальонами B , то он отступает; 4. Если 2 батальона A встретятся с 1-м батальоном B , то они его подавляют и занимают объект; 5. Если 2 батальона A встречаются с 3-мя батальонами B , то A отступают. Перечислим возможные стратегии сторон: У стороны A имеется 3 стратегии: A1 – послать 2 батальона по первой дороге; A2 – послать 2 батальона по второй дороге; A3 – послать 1 батальон по первой и 1 батальон по второй дорогам. У стороны B имеется 4 стратегии: B1 – послать все 3 батальона на первую дорогу; B2 – послать все 3 батальона на первую дорогу; B3 – послать 1 батальон на первую и 2 батальона на вторую дорогу; B 4 – послать 2 батальона на первую и 1 батальон на вторую дорогу. Матрица игры тогда получает вид (табл. 1.2.): 8
Таблица 1.2. Bj
Ai
B1
B2
B3
B4
0 1 1
1 0 1
1 р2 р1
р2 1 р1
A1 A2 A3
Не зная методов теории игр, даже для такой простой задачи, трудно дать рекомендации, как нужно действовать. Пример 2. Проблема профилактики. Анализ неисправностей какого-то технического элемента показал, что они могут быть вызваны пятью типами деталей, применяемыми в данном элементе. Для контроля состояния устройства имеется три тестовых задания: 1. Тест №1 с вероятностью p1 обнаруживает неисправности, вызванные деталями типов 1, 2, 3, 4 и не обнаруживает неисправностей, вызванных деталью типа 5; 2. Тест №2 с вероятностью p = 1 , обнаруживает неисправности, вызванные деталью типа 1, и не позволяет обнаружить другие неисправности; 3. Тест №3 с вероятностью p3 обнаруживает неисправности, вызванные деталью типа 2 и с вероятностью p = 1 обнаруживает неисправности, вызванные деталью типа 5, и не обнаруживает остальных неисправностей. Требуется так организовать профилактику (использование тестов), чтобы наиболее эффективно проверить состояние технического элемента. Эта задача может быть сведена к парной игре: Игрок А, его стратегии: A1 – использование теста №1; A2 – использование теста №2; A3 – использование теста №3. Игрок В (природа, или технический элемент), его стратегии: B1 – неисправность элемента типа 1; B2 – неисправность элемента типа 2; B3 – неисправность элемента типа 3; B4 – неисправность элемента типа 4; B5 – неисправность элемента типа 5. Матрица игры имеет вид (табл. 1.3.): Bj
Ai A1 A2 A3
B1
B2
B3
B4
р1 1 0
р1 0 р3
р1 0 0
р1 0 0
Таблица 1.3. B5 0 0 1 9
Пример 3. Два игрока A и B , не показывая друг другу, кладут на стол по монете вверх гербом или цифрой по своему усмотрению. Если обе монеты положены на одинаковые стороны, то их забирает игрок A , если на противоположные – игрок B . Требуется дать рекомендации о наилучшем способе действий. A1 – выбрать герб; Стратегии А: A2 – выбрать цифру. Стратегии В: B1 – выбрать герб; B2 – выбрать цифру. Составим матрицу задачи (табл. 1.4.): Таблица 1.4. Ai
Bj
B1 1 –1
A1 A2
B2 –1 1
+1 – выигрыш игрока A ; –1 – проигрыш игрока A .
1.1.4. Оптимальные стратегии, цена игры Оптимальной стратегией игрока называется такая стратегия, которая при многократном повторении игры обеспечивает данному игроку максимально возможный средний выигрыш (минимально возможный средний проигрыш). При выборе этой стратегии в теории игр исходят из предположения, что противник, по меньшей мере так же разумен, как и мы сами, и делает всё для того, чтобы помешать нашему выигрышу. Рассмотрим игру m × n с матрицей (табл. 1.5.): Таблица 1.5. Bj
Ai A1 A2 . . . . Am βj
B1 a11 a21 . . . . am1
B2 a12 a22 . . . . am2
β1
β2
. . . .
. . . .
. . . .
. . . .
. . . .
B2 a1n a2n . . . . amn
αi
α1 α2
. . . . αm
βn
Будем рассматривать пока только чистые стратегии. Определим наилучшую среди наших стратегий: A1 , A2 , ..., Am . Рассмотрим последовательно каждую стратегию от A1 до Am . Причём, выбирая Ai -ю стратегию, мы должны рассчитывать, что противник ответит на неё той из стратегий B j , для которой
10
наш выигрыш минимален. Найдём в i -й строке минимальное из чисел a ij и обозначим его α i . α i = min aij . j
(1.1.)
Выпишем числа α i (минимумы строк) рядом с матрицей справа в виде добавочного столбца. После определения α1 , α 2 , ..., α m мы должны предпочесть из всех стратегий ту, для которой число α i максимально. Обозначим это максимальное значение α , тогда α = max α i , j
или подставляя (1.1), имеем α = max min aij . j
i
(1.2.)
Величина α называется нижней ценой игры, или максимальным выигрышем или максимином. Та стратегия, игрока A , которая соответствует максимину α , называется его максиминной стратегией. Проведём аналогичные рассуждения за противника B . Естественно, он заинтересован в том, чтобы обратить наш выигрыш в минимум, т.е. он должен просмотреть все свои стратегии от B1 до Bn , и выделить для каждой из них максимальное значение выигрыша. Найдём в j -м столбце максимальное из чисел a ij и обозначим его β j : β j = max a ij . i
(1.3.)
Выпишем числа β j (максимумы столбцов) снизу матрицы в виде добавочной строки. После определения β1 , β 2 , ..., β n игрок B предпочитает из всех стратегий ту, для которой число β j минимально. Обозначим это минимальное значение через β , тогда β = min β j , j
или после подстановки (1.3.) β = min max aij . j
i
(1.4.)
11
Величина β называется верхней ценой игры, или минимаксным выигрышем или минимаксом. Та стратегия игрока B , которая соответствует минимаксу β , называется его минимаксной стратегией. Принцип осторожности, диктующий игрокам выбор соответствующих стратегий (максиминной и минимаксной), является в теории игр основным и называется принципом минимакса. Отметим, что минимаксные стратегии обладают одним неприятным свойством: они являются неустойчивыми. Что это означает? Если оба игрока пользуются своими максиминными стратегиями, то сведения об этом, поступившие одному из игроков, позволяет ему увеличить выигрыш, т.е. сделать его выше нижней цены или ниже верхней цены. Минимаксные стратегии устойчивы тогда, когда нижняя и верхняя цены игры равны между собой, т.е. α = β . В этом случае максиминные стратегии являются оптимальными и не зависят от того, знает ли противник о нашей стратегии. Эти сведения не дают возможности игрокам увеличить свой выигрыш. Если какой-то игрок отойдёт от оптимальной стратегии, то он только уменьшит свой выигрыш. Рассмотрим числовые примеры. Пример 1. Игроки A и B одновременно и независимо друг от друга записывают одно из трёх чисел: 1, 2 или 3. Если сумма чисел чётная, то игрок В платит эту сумму игроку А, если же она нечётная, то игрок A платит полученную сумму игроку B . У игроков имеется по три одинаковых стратегии: A1 ( B1 ) – писать число 1; A2 ( B2 ) – писать число 2; A3 ( B3 ) – писать число 3. Как видим игра 3× 3 и имеет следующую матрицу (табл. 1.6.): Таблица 1.6.
B1
B2
B3
αi
A1 A2 A3
2 –3 4
–3 4 –5
4 –5 6
–3 –5 –5
βj
4
4
6
Bj
Ai
Нижняя цена игры максимин α = −3 ; Верхняя цена игры минимакс β = 4 . Итак, если игрок A будет всегда применять максиминную стратегию, A1 , то ему твёрдо гарантирован выигрыш равный – 3 (т.е. проигрыш 3 единицы). Если же игрок B будет применять свою максиминную стратегию B1 или B2 , то он гарантирован, что проиграет не больше 4 единиц.
12
Покажем, что минимаксные стратегии в данном примере являются неустойчивыми. Действительно, пусть, например, противник (игрок B ) выбрал одну из своих минимаксных стратегий B1 и придерживается её. Узнав об этом, мы (игрок A ) перейдём к стратегии A3 и будем выигрывать 4 единицы. На это противник ответит стратегией B2 и будет выигрывать 5 единиц, на это мы, в свою очередь, ответим стратегией A2 и будем выигрывать 4 единицы и т.д. Следовательно, положение, при котором оба игрока пользуются своими минимаксными стратегиями, является неустойчивым и может быть нарушено поступившими сведениями о стратегии, которую применяет противная сторона. Пример 2. Пусть игра 4 × 4 задана матрицей (табл. 1.7.): Таблица 1.7. Bj
Ai A1 A2 A3 A4 βj
B1
B2
B3
B4
αi
0,4 0,8 0,7 0,7 0,8
0,5 0,4 0,6 0,2 0,6
0,9 0,3 0,8 0,4 0,9
0,3 0,7 0,9 0,6 0,9
0,3 0,3 0,6 0,2
aij = 0,6 ; Нижняя цена игры максимин α = max min i j
max aij = 0,6 . Верхняя цена игры минимакс β = min j i
Как видим, в данном примере, нижняя цена игры равна верхней цене игры, т.е. α = β = 0,6 . В таких случаях говорят, что игра имеет чистую цену игры α = β =ν .
Такие игры занимают особое место в теории игр и называются играми с седловой точкой. В матрице такой игры существует элемент, который является одновременно минимальным в своей строке и максимальным в своём столбце, в нашем примере элемент a32 = 0,6 . Такой элемент называется седловой точкой (по аналогии с седловой точкой, где достигается минимум по одной координате и максимум по другой). Седловой точке соответствует пара минимаксных стратегий. Эти стратегии называются оптимальными, а совокупность оптимальных стратегий является решением игры. Решение игры обладает следующим свойством: если одна из сторон придерживается своей оптимальной стратегии, то для другой стороны не может быть выгодным отклоняться от своей оптимальной стратегии (такое отклонение либо оставит положение неизменным, либо ухудшит его). Действительно, пусть в игре с седловой точкой игрок A и игрок B придерживаются своих оптимальных стратегий, в нашем примере A3 и B2 , тогда выигрыш остаётся постоянным и равным чистой цене игры ν = 0,6 . Теперь предположим, что B 13
изменил стратегию, например на B3 , а A придерживается своей оптимальной – A3 . Такое отклонение не может быть выгодным для игрока B , т.к. ν = 0,6 является минимальным в своей строке. То же самое происходит, если A отклоняется от своей оптимальной стратегии, а B придерживается своей оптимальной стратегии, т.е. для A такое отклонение оказывается невыгодным. Итак, для игры с седловой точкой оптимальные стратегии являются устойчивыми. В таких играх чистая цена игры ν является тем значением выигрыша, которое в игре против разумного противника, игрок A не может увеличить, а игрок B – уменьшить. Отметим ещё, что в матрице одновременно может быть несколько седловых точек, однако все они дают одно и то же значение выигрыша. Пример 3. См. Табл. 1.8.: Таблица 1.8. Bj
Ai A1 A2 A3 A4
B1
B2
B3
B4
B5
αi
2 0 1 1
2 1 1 2
1 1 1 1
1 1 1 1
2 1 2 2
1 0 1 1
В данном примере шесть седловых точек, с общим значением выигрыша α = β = ν = 1 . Этим седловым точкам соответствуют пары оптимальных стратегий: A1 B3 ; A1 B4 ; A3 B3 ; A3 B4 ; A4 B3 ; A4 B4 .
1.1.5. Решение игры в смешанных стратегиях Практически шире распространены игры, когда нижняя и верхняя цены игры различны. Мы уже показывали, что для получения гарантированного выигрыша, равного нижней цене игры, игрок A должен придерживаться своей максиминной стратегии. Однако, встаёт вопрос: A нельзя ли каким-нибудь образом получить средний выигрыш больше нижней цены игры? Оказывается, что при применении не одной чистой максиминной стратегии, а, чередуя случайным образом несколько стратегий, можно гарантировать средний выигрыш больше, чем нижняя цена игры. Такие стратегии называются, как уже отмечалось, смешанными стратегиями. Допустим, имеем некоторую игру U . Игрок A имеет m стратегий A1 , A2 , ..., Am ; Ai , i = 1, m . Игрок В имеет n стратегий B1 , B2 , ..., Bn ; B j , j = 1, n . Обозначим: S A = ( p1 , p2 , ..., p m ) – смешанная стратегия игрока A , в которой стратегии Ai применяются с вероятностями pi , причём 14
m
∑p i =1
i
= 1.
S B = (q1 , q 2 , ..., q n ) – смешанная стратегия игрока B , в которой
стратегии
Bj
применяются
вероятностями q j , причём
n
∑q j =1
j
с
= 1.
Покажем, что для каждой конечной игры, применяя смешанные стратегии, можно найти решение, т.е. пару устойчивых оптимальных стратегий игроков А и В. Решением игры называется пара оптимальных, в общем случае смешанных стратегий S A* , S B* , обладающих следующим свойством: если один из игроков придерживается своей оптимальной стратегии, то другому не может быть выгодно отступать от своей оптимальной стратегии. Выигрыш, соответствующий решению, называется ценой игры. Обозначим цену игры, так же как и ранее чистую цену ν . Основная теорема теории игр: Каждая конечная игра имеет, по крайней мере, одно решение, возможно, в области смешанных стратегий. Из этой теоремы следует, что каждая конечная игра имеет цену, причём α ≤ν ≤ β .
(1.5.)
В выражении (1.1.) α – нижняя цена игры или, что то же – максимальный гарантированный выигрыш игрока A при применении им только своих чистых стратегий. Очевидно, что каждая чистая стратегия является частным случаем смешанной, поэтому, допуская кроме чистых стратегий ещё и смешанные, игрок A , во всяком случае не ухудшит своих возможностей, т.е. ν ≥α .
Аналогично, рассматривая возможности игрока B , приходим к выводу, что ν ≤β.
Далее, полагаем, что в игре m × n найдено решение, которое состоит из двух оптимальных стратегий: S A* = ( p1 , p 2 , ..., p m );⎫ ⎬. S B* = (q1 , q 2 , ..., q n ). ⎭
(1.6.)
Отметим, что в общем случае в оптимальные стратегии (1.6.) входят не все допустимые игроку чистые стратегии, т.е. некоторые из чисел pi и q j могут быть равны нулю. Те стратегии, которые входят в оптимальную смешанную стратегию, называются активными или полезными стратегиями. 15
Теорема об активных стратегиях: Если один из игроков придерживается своей оптимальной смешанной стратегии, то выигрыш остаётся неизменным и равным цене игры ν , независимо от того, что делает другой игрок, если только тот не выходит за пределы своих активных стратегий. Вывод. Мы рассмотрели предмет теории игр, его область применимости и важный подраздел, матричные игры. Рассмотрели понятие стратегии, в частности чистые и смешанные стратегии. Различные представления задач в рамках теории игр. Были введены важные понятия минимакс и максимин, которые являются ключевыми для понимания сущности матричных игр. Вопросы их использования будут рассмотрены ниже.
1.2. Решение матричных игр двух лиц с нулевой суммой, принцип максимина 1.2.1. Методы решения игр Решить игру – это значит определить для каждого игрока наиболее выгодные стратегии. Если игра m × n не имеет седловой точки, то нахождение решения является довольно трудной задачей, особенно при больших m × n . Для облегчения решения таких задач всегда необходимо проанализировать их с точки зрения упрощения. Иногда такие задачи удаётся упростить сокращением дублирующих и заведомо невыгодных стратегий. 1. если в матрице игры имеется несколько повторяющих друг друга стратегий, то в матрице следует оставить одну из них, а остальные – дублирующие исключить; 2. если каждый член стратегии Ai меньше соответствующего члена стратегии Ak , k = 1, m, k ≠ j , то стратегия Ai является явно невыгодной по сравнению с Ak (иначе: 1.стратегия Ak доминирует над стратегией Ai ; 2.стратегия Ak мажорирует стратегию Ai ). В связи со сказанным, стратегию Ai исключают из матрицы. Аналогично проводятся рассуждения для стратегий игрока В. Пример 1. Игра 4 × 4 задана матрицей (табл. 1.9.): Bj
Ai A1 A2 A3 A4
16
B1
B2
B3
Таблица 1.9. B4
1 0 1 4
2 2 2 3
4 3 4 1
3 2 3 0
Для игрока A : 1. A3 повторяет A1 – любую из них можно вычеркнуть, например A3 ; 2. A2 явно невыгодна по сравнении с A1 , вычеркиваем A2 . Для игрока B : 1. B3 явно невыгодна по сравнению с B4 , вычеркиваем B3 . После такого анализа игра 4 × 4 свелась к игре 2 × 3 . Кроме рассмотренного, иногда удаётся упростить игру искусственным введением вместо чистых стратегий – смешанные. Рассмотрим этот случай на числовом примере: Игра 4 × 4 задана матрицей (табл. 1.10.): Bj
Ai A1 A2 A3
B1
B2
B3
0 5 5
5 0 5
5 2 1
Таблица 1.10. B4 2 5 1
Заметим, что в матрице элементы строк A1 и A2 , а также элементы столбцов B1 и B2 ; B3 и B4 симметричны. Поэтому эти стратегии, если они входят в решение, входят с одинаковыми вероятностями p1 = p 2 ; q1 = q 2 ; q3 = q 4 . Поэтому объединим вначале стратегии: Для игрока B : 1. B1 и B2 в одну общую стратегию B12 ; 2. B3 и B4 в одну общую стратегию B34 . Для игрока A : 1. A1 и A2 в одну общую стратегию A12 . После этого игра 3× 4 свелась к игре 2 × 2 (табл. 1.11.). Таблица 1.11. Ai
Bj A12 A3
B12 2,5 5
B34 3,5 1
Вывод. Мы рассмотрели различные способы решения и интерполяции матричных игр с нулевой суммой и принцип максимина. Итак, приступая к решению любой игры m × n , необходимо выполнить следующее: 1. Проверить, существует ли в матрице игры седловая точка (если есть, то решение уже найдено). 2. Если седловой точки нет, сравнить между собой почленно столбцы и строки с целью вычёркивания дублирующих и заведомо невыгодных стратегий. 17
3. Посмотреть, нельзя ли уменьшить число стратегий путём замены некоторых групп чистых – смешанными.
1.3. Решение и геометрическая интерполяция игр 2х2 Игра 2×2. Имеем конечную игру 2 × 2 с матрицей (табл. 1.12.): Таблица 1.12. Ai
Bj A1 A2
B1 a11 a21
B2 a12 a22
Возможны два случая: – игра имеет седловую точку; – игра не имеет седловой точки. В первом случае решением будет пара стратегий пересекающихся в седловой точке. Рассмотрим второй случай, когда в игре 2 × 2 седловой точки нет, т.е. α ≠ β . Решение должно быть в смешанных стратегиях. Найдём его, т.е. S A* = ( p1 , p 2 );⎫ ⎬. S B* = (q1 , q 2 ). ⎭
(1.7.)
Определим оптимальную смешанную стратегию игрока A – S A* . В соответствии с теоремой об активных стратегиях, если игрок A будет придерживаться стратегии S A* = ( p1 , p2 ) , то если игрок B не выходит за пределы своих активных стратегий, выигрыш равен цене игры ν . Отметим, что в игре 2 × 2 обе стратегии являются активными (иначе игра имела бы седловую точку). Таким образом, если игрок A придерживается стратегии S A* = ( p1 , p2 ) , то игрок B , не меняя выигрыша, может применять любую из своих чистых стратегий. Исходя из сказанного имеем два уравнения: a11 p1 + a 21 p 2 = ν ; ⎫ ⎬ a12 p1 + a 22 p 2 = ν ,⎭
(1.8.)
p1 + p 2 = 1 .
(1.9.)
Решаем (1.2.) и (1.3.) относительно ν , p1 и p 2 , получим: a 22 − a 21 ⎫ ; ⎪⎪ a11 + a 22 − a12 − a 21 ⎬ a11 − a12 ;⎪ p 2 = 1 − p1 = a11 + a 22 − a12 − a 21 ⎪⎭
p1 =
18
(1.10.)
ν=
a 22 a11 − a12 a 21 a11 + a 22 − a12 − a 21
(1.11.)
Аналогично находится оптимальная стратегия игрока B : S B* = (q1 , q 2 ) .
(1.12.)
В соответствии с теоремой об активных стратегиях, можно записать: a11q1 + a12 q 2 = ν ; ⎫ ⎬ a 21q1 + a 22 q 2 = ν ,⎭ q1 + q 2 = 1 .
(1.13.) (1.14)
Решая (1.7.) и (1.8.), получим a 22 − a 21 ⎫ ; ⎪⎪ a11 + a 22 − a12 − a 21 ⎬ a11 − a12 ;⎪ q 2 = 1 − q1 = a11 + a 22 − a12 − a 21 ⎪⎭
q1 =
(1.15.)
Рассмотрим числовые примеры: Пример 1. Имеем игру 2 × 2 , пример составления матрицы, которой мы уже рассматривали, она имеет вид (табл. 1.13.): Ai
Bj A1 A2 βj
B1 +1 –1 +1
B1 –1 +1 +1
αi
Таблица 1.13.
–1 –1
По выражениям (1.10.), (1.11.) и (1.15.) получаем: 1+1 1 1 = ; p2 = ; 1+1+1+1 2 2 1+1 1 1 = ; q1 = q2 = ; 1+1+1+1 2 2 1 ⋅ 1 − (−1) ⋅ (−1) ν= = 0; 4 p1 =
Таким образом, оптимальная стратегия каждого игрока состоит в случайном чередовании своих чистых стратегий с вероятностью равной 1/2. При этом средний выигрыш ν = 0 . Пример 2. Имеем игру 2 × 2 , матрица, которой имеет вид (табл. 1.14.): 19
Ai
Bj A1 A2 βj
B1 0,6 1,0 1,0
B1 0,9 0,4 0,9
αi
Таблица 1.14.
0,6 0,4
Нижняя цена игры α = 0,6 . Верхняя цена игры β = 0,9 . Игра не имеет седловой точки, т.к. α ≠ β . По формулам (1.10.), (1.11.) и (1.15.) находим: 0,4 − 1 − 0,6 = 0,666; p 2 = 0,334; = 0,6 + 0,4 − 0,9 − 1,0 − 0,9 0,4 − 0,9 − 0,5 = = 0,555; q1 = q 2 = 0,445; − 0,9 − 0,9 0,6 ⋅ 0,4 − 1,0 ⋅ 0,9 0,24 − 0,9 ν= = = 0,734; − 0,9 − 0,9 p1 =
Итак, оптимальные стратегии игроков: S A* = (0,666; 0,334); . S B* = (0,555; 0,445).
При цене игры ν = 0,734 . Видим, что α < ν < β . Геометрическая интерпретация игры 2×2. Имеем игру 2 × 2 с матрицей (табл.1.15.): Таблица 1.15. Ai
Bj A1 A2
B1 a11 a21
B2 a12 a22
Возьмём участок оси X (см. рис. 1.1.) Левый конец участка ( x = 0 ) будет изображать стратегию A1 , правый конец участка ( x = 1 ) – стратегию A2 . Вероятность p1 применения стратегии A1 будет равна расстоянию от точки S A (смешанная стратегия) до правого конца участка, а вероятность p 2 стратегии A2 – расстоянию до левого конца участка. Через x = 0 проведём перпендикулярную ось I − I , а через точку x = 1 – ось II − II . На оси I − I будем откладывать выигрыши при стратегии A1 , а на оси II − II – выигрыши при стратегии A2 .
20
B1
I
II B2 N
С
β min max j
D
M
B2
a11
B1
a22
ν
i
a21
a12 A1
p2 0 I
p1
SA* SA
p2
p1
1
A2
α max min j
i
X
II
Рис. 1.1. Геометрическая интерпретация игры 2х2
Пусть игрок В применяет стратегию B1 : Откладываем на оси I − I выигрыш a11 , а на оси II − II выигрыш a 21 , через полученные точки проводим прямую B1 B1 – «стратегия B1 ». Очевидно, что при любой смешанной стратегии S A = ( p1 , p 2 ) выигрыш игрока A выразится точкой M на прямой B1 B1 , которой соответствует точка S A на оси абсцисс. Точка S A делит отрезок x = 0 ÷ 1 в отношении p 2 : p1 . Аналогично, получим отрезок B2 B2 , если игрок B применяет стратегию B2 . Для определения оптимальной стратегии S A* = ( p1 , p2 ) выделим нижнюю границу выигрыша при стратегиях B1 и B2 игрока В. Этой нижней границей, очевидно, будет ломаная линия B2 N B1 , выделенная жирной линией. Точка N , в которой этот выигрыш достигает максимума, и определяет решение и цену игры, причём ордината точки N – есть цена игры ν . На графике легко определить как нижнюю цену игры – α , так и верхнюю β. Кроме того, из графика можно определить и оптимальную стратегию игрока B – S B* = (q1 , q2 ) . Для этого проведём прямую, параллельную оси X через точку N до пересечения с осями I − I – точка C и II − II – точка D . Тогда: q1 =
C B2 ; q 2 = 1 − q1 C B1 + C B2
на оси I − I ;
Или q1 =
D B2 D B1 + D B2
на оси II − II .
Если график задачи имеет вид (рис. 1.2.),
21
B1 II
I
B2 B2 a21 a22
B1
a12
a11 A1
A2
0 p2=1 Рис.1
I
SA*=A2
X
1 II
Рис. 1.2. Определение оптимальной стратегии задачи 1
то решением игры не будет точка пересечения линии B1 B1 и B2 B2 , а оптимальной стратегией игрока А будет его чистая стратегия A2 , т.к. она заведомо выгоднее стратегии A1 (при любой стратегии игрока В). Если график задачи имеет вид (рис. 1.3.), I
II
B2 B2
B1
B1
a12 a11 A1
0 I
a22
a21
Рис.2
1
A2
X
II
Рис. 1.3. Определение оптимальной стратегии задачи 2
то у игрока B имеется заведомо невыгодная стратегия. Решение игр 2×n и m×2. Имеем игру 2 × n , матрица которой состоит из 2 строк и n столбцов. Изобразим такую игру графически, где n = 5 (рис. 1.4.). Выделим нижнюю границу выигрыша – B1 MNB2 . На ней точка N имеет максимальную ординату, эта ордината будет ценой игры ν . Абсцисса точки N есть оптимальная смешанная стратегия игрока A : S A* = ( p1 , p2 ) . Из графика видно, что в точке N пересекаются стратегии игрока B : B4 и B5 , тогда оптимальная смешанная стратегия игрока B будет: S B* = (0; 0; 0; q 4 ; q 5 ) . В примере, стратегия B3 является заведомо невыгодной, а стратегии B1 и B2 – невыгодные при оптимальной стратегии S A* . Вероятности q 4 и q5 относятся как длины отрезков CB5 и CB 4 . Итак, если игрок A будет пользоваться своей оптимальной стратегией S A* , то выигрыш не изменится,
22
какой бы из своих стратегий B4 и B5 не пользовался игрок B . Однако он изменится, если игрок B перейдёт к стратегиям B1 или B2 или B3 . II
I
B1
B2
B5
B4
B3 D B4 B2
С M
B3
N
ν B5 A1 0 B1 I
SA*
p2
p1
Рис.3
1
A2
X
II
Рис. 1.4. Определение стратегии при n = 5
Теорема для игры m×n. Любая конечная игра m × n имеет решение, в котором число активных стратегий каждой стороны не превосходит наименьшего из чисел m или n . Из этой теоремы следует, что у игры 2 × n всегда имеется решение, в котором с каждой стороны участвует не более двух активных стратегий. После нахождения этих двух стратегий, игра 2 × n превращается в игру 2 × 2 . Алгоритм решения игры 2×n: 1. Строится геометрическая интерпретация; 2. Ищется пара стратегий, пересекающихся в точке N (если в точке N пересекается более двух стратегий, то берётся любая пара); 3. Эти две стратегии – есть активные стратегии игрока B , следовательно, игра 2 × n сведена к игре 2 × 2 . Аналогично решается и игра m × 2 , только лишь с той разницей, что строится нижняя, а не верхняя граница выигрыша, и на ней ищется не максимум, а минимум. Рассмотрим для этого случая числовой пример: Имеем игру 3× 2 , которая задана матрицей (табл. 1.16.): Таблица 1.16. αi Bj B1 B2 Ai A1 0 1 0 A2 1/2 3/4 1/2 A3 5/6 1/2 1/2 βj 5/6 3/4 α = 0,5; β =
3 . 4
23
Строим график для игрока B (аналогичные построения) и находим верхнюю границу выигрыша (жирная линия на рис. 1.5.). Точка N , соответствующая минимуму ординаты – есть решение игры. II
I A3
1
5/4
A1
3/4
A2 D 1/2 A3
С N
A2 1/2 0,65 A1 0 I
X B1
SB*
p2
p1
Рис.4
1 B2 II
Рис. 1.5. График стратегии для игрока В
Для игрока В: S B* = (0,43; 0,57); ν = 0,65.
Для игрока А: S A* = (0; p 2 ; p 3 )
Из графика p2 =
C A3 0,8 = = 0,57; CA3 + CA2 1,4
p 3 = 1 − p 2 = 0,43;
Следовательно S A* = (0; 0,57; 0,43) . При такой стратегии игроков средний выигрыш α < ν < β . Рассмотрим еще примеры. Пример 1. Рассмотрим игру, заданную платёжной матрицей. B1 A1 ⎛2 1 ⎜ A2 ⎝7
2 B2 3 5
B3 11⎞ ⎟ 2⎠
На плоскости xOy (см. рис. 1.6.) введём систему координат и на оси Ox отложим отрезок единичной длины A1 , A2 , каждой точке которого поставим в соответствие некоторую смешанную стратегию игрока 1 ( x , 1 − x ). В частности, точке A1 (0;0) отвечает стратегия A1 , точке A2 (1;0) – стратегия A2 и т.д. 24
у B3 11
B′1 B′2
N B2
7 5
М
3 2
B′3
υ
B1 A1 1 4 4 4 4 4 4 44 2 4 4 4 4 4 4 4 43 1 4 4 2 4 4A32 0
x
2 x
1− x
Рис. 1.6. График игры, заданной платежной матрицей
В точках A1 и A2 восстановим перпендикуляр и на полученных прямых будем откладывать выигрыш игроков. На первом перпендикуляре (в данном случае он совпадает с осью 0y) отложим выигрыш игрока 1 при стратегии A1 , а на втором – при стратегии A2 . Если игрок 1 применит стратегию A1 , то выиграет при стратегии B1 игрока 2 – 2, при стратегии B2 – 3, а при стратегии B3 – 11. Числам 2, 3, 11 на оси 0х соответствуют точки B1 , B2 и B3 . Если же игрок 1 применит стратегию A2 , то его выигрыш при стратегии B1 равен 7, при B2 – 5, а при B3 – 2. Эти числа определяют точки B1′ , B2 ′ , B3′ на перпендикуляре, восстановленном в точке A2 .Соединяя между собой точки B1 и
′ ′ ′ B1 , B2 и B2 , B3 и B3 получим три прямые, расстояние до которых от оси 0х
определяет средний выигрыш при любом сочетании соответствующих стратегий. Например, расстояние от любой точки отрезка B1 B1′ до оси 0х определяет средний выигрыш υ1 при любом сочетании стратегий A1 A2 (с частотами x и 1 − x ) и стратегией B1 игрока 2. Это расстояние равно 2х1 + 6(1 − х2) = υ1 (Вспомните планиметрию и рассмотрите трапецию A1 B1 B1′ A2 ). Таким
образом, ординаты точек, принадлежащих ломанной B1 M N B3′ определяют минимальный выигрыш игрока 1 при применении им любых смешанных стратегий. Эта минимальная величина является максимальной в точке N ; следовательно, этой точке соответствует оптимальная стратегия Х* = (х, 1−х), а её ордината равна цене игры υ. Координаты точки N находим как точку пересечения прямых B2 B2 ′ и B3 B3′ . Соответствующие два уравнения имеют вид 25
⎧ 3x + 5(1 − x ) = υ ⎨ ⎩11x + 2(1 − x ) = υ
Следовательно, Х = (
3 ; 9 ), 11 11
⇒ x=
3 49 . , υ= 11 11
при цене игры υ =
49 . 11
Таким образом мы
можем найти оптимальную стратегию при помощи матрицы ⎛ 3 11⎞ ⎜ ⎟ ⎝5 2 ⎠
Оптимальные стратегии для игрока 2 можно найти из системы ⎧3 y + 5(1 − y ) = υ ⎨ ⎩5 y + 2(1 − y ) = υ
и, следовательно, Y = (0;
9 ; 2 ). 11 11
⇒ y=
9 11
(Из рис. 1.6. видно, что стратегия B1 не войдёт
в оптимальную стратегию. Пример 2. Найти решение игры, заданной матрицей (рис. 1.7.). B1 A1 ⎛ 6 ⎜ A2 ⎜ 4 1 A3 ⎜ 2 ⎜ A4 ⎝ 1
2
B2 5⎞ ⎟ 6⎟ 7⎟ ⎟ 8⎠
x
A16
К
8
A′4
7
A′3
6
A′2
5
A′1
A24
υ A32 A41 B1 1 4 4 4 4 4 4 4 2y 4 4 4 4 4 4 4 3 1 4 4 44 2 4 4 4 43 B 1− y 2 Рис. 1.7. График стратегии примера 2 26
y
Решение. Матрица имеет размерность 2 х 4. Строим прямые, соответствующие стратегиям игрока 1. Ломанная A1 K A4 ′ соответствует верхней границе выигрыша игрока 1, а отрезок N K –цене игры. Решение игры таково
Υ = ( 3 ; 5 ); 8
8
Х = ( 7 ; 0; 0; 8
1 ); 8
υ=
43 . 8
Приближённые методы решения игр. Часто в практических задачах нет необходимости находить точное решение игры. Достаточно бывает найти приближённое решение, дающее средний выигрыш, близкий к цене игры ν . Если нижняя цена игры α и верхняя цена игры β близки по величине, то достаточно в качестве оптимальных взять чистые минимаксные стратегии. Если α и β сильно отличаются по величине, то приближённое решение игры можно получить методом итераций, который является одним из методов последовательных приближений. Сущность этого метода состоит в том, что игру «проигрывают» много раз, причём каждый раз выбирается та чистая стратегия, которая является наилучшей при учёте всех партий, проведённых противником до сих пор. Приближённое решение осуществляется следующим образом: Один из игроков, например A , выбирает произвольно одну из своих стратегий, допустим Ai . Игрок B отвечает на это одной из своих стратегий B j , которая наименее выгодна для игрока A , т.е. обращает выигрыш при стратегии Ai в минимум. На этот ход игрок A отвечает той своей стратегией Ak , которая даёт максимальный выигрыш при стратегии противника B j . Далее игрок B отвечает на пару ходов Ai и Ak той своей стратегией Bl , которая делает средний выигрыш игрока A на одну партию при этих двух стратегиях минимальным, и т.д. Вывод. Мы рассмотрели еще один метод решения матричных игр – геометрический. Были показаны его особенности и область применимости. Это еще один изящный инструмент в вашем арсенале. Теория игр является важной отраслью математики и имеет широкое прикладное применение. Ее можно использовать для решения практически любой конфликтной ситуации. Очень важны матричные игры, практическое применение которых очень просто. Контрольные вопросы: 1. Дайте определение игры. 2. Дайте определение седловой точки. 3. Какие игры можно решать геометрическим способом?
27
Глава 2 КООПЕРАТИВНЫЕ ИГРЫ Зачастую встречаются конфликтные ситуации с числом игроков больше двух, где есть возможность объединения двух или более игроков для получения совместной выгоды. Классический пример это объединение всех продавцов с целью завышения цен. Для описания таких ситуаций служат кооперативные игры. Они отвечают на вопрос кому и с кем выгодно объединятся, и стоит ли это делать вообще.
2.1. Арбитражные схемы 1. Природа и структура арбитражных схем. Большинство неантагонистических конфликтов в экономике и смежных с ней областях характеризуются тем, что их участники могут путем кооперирования объединять свои усилия. Сотрудничество между игроками приводит к качественно новому конфликту по сравнению с бескоалиционным случаем. Как мы видели, в бескоалиционных играх отклонение одного из участников от ситуации равновесия не дает ему никакого преимущества. Однако при отклонении нескольких игроков эти игроки могут получить больший выигрыш, нежели в ситуации равновесия. Поэтому в условиях, в которых возможна кооперация между игроками, принцип равновесия не оправдывает себя. Так, например, пусть неантагонистическая игра двух лиц задана следующими матрицами: ⎛ 5 0⎞ ⎟⎟ , A = ⎜⎜ ⎝10 1 ⎠
⎛ 5 10 ⎞ ⎟⎟ B = ⎜⎜ ⎝0 1 ⎠
В этой игре А = –4, a = 1 и α = –1/4, поэтому ситуациями, приемлемыми для игрока I, будут ситуации вида (0, η) при произвольном η. Аналогично для игрока II приемлемыми ситуациями будут ситуации вида (ξ, 0) при произвольном ξ. Следовательно, здесь единственной ситуацией равновесия оказывается ситуация (0, 0), в которой каждый из игроков выбирает свою 2-ю чистую стратегию и выигрывает единицу. Вместе с тем, очевидно, что если игроки договариваются и выбирают свои первые чистые стратегии, то в ситуации (1, 1) каждый из них выигрывает по пять единиц. Однако ясно, что ситуация (1, 1), которая может сложиться при возможности кооперирования, является весьма неустойчивой, так как каждый игрок, изменяя в ней произвольным образом свою стратегию, увеличивает свой выигрыш. Итак, при возможности кооперирования возникает противоречие между устойчивостью ситуации, выражаемой в виде равновесности, и ее целесообразностью – стремлением игроков к большим выигрышам. Это 28
противоречие может разрешаться путем расширения множеств уже имеющихся стратегий на основе тех или иных соглашений между игроками. В частности, игроки могут выбирать свои стратегии совместно, договариваясь между собой. В результате множество ситуаций в смешанных стратегиях будет множеством всех вероятностных мер на множестве всех ситуаций в чистых стратегиях. Напомним, что при отсутствии соглашений между игроками множество ситуаций в смешанных стратегиях являлось произведением вероятностных мер, заданных на чистых стратегиях каждого из игроков. Обозначим через U множество всевозможных векторов выигрышей игроков в игре n лиц при применении ими всех смешанных стратегий, заданных на множестве всех ситуаций в чистых стратегиях. Множество U содержится в евклидовом пространстве R n и является выпуклым, так как в рассматриваемом случае функция выигрыша каждого из игроков является линейной функцией относительно совместной стратегии игроков, а множество их стратегий является выпуклым. Если предположить непрерывность функции выигрыша на множестве всех ситуаций в чистых стратегиях и компактность этого множества, то множество всех выигрышей будет также замкнуто и ограничено, а поэтому компактно. Таким образом, при возможности кооперирования и некоторых предположениях о первоначальной бескоалиционной игре, игроки имеют перед собой некоторое замкнутое ограниченное и выпуклое подмножество U ⊂ R n . Это множество называется допустимым множеством. Действуя совместно, игроки могут получить в качестве вектора выигрышей любой вектор u ∈ U . Пусть u i* – значение антагонистической игры, в которой все игроки играют против игрока i , т.е. стараются минимизировать его выигрыш, не обращая внимания на свои интересы. Обозначим через u * = (u1* , u 2* ,Κ , u n* ) ∈ R n вектор, компоненты которого u i* можно интерпретировать как выигрыши игроков в том случае, когда они не придут к соглашению. Вектор u * называют точкой status quo. Тройку Γ =< I ,U , u * >,
где U ⊂ R n , u * ∈ R n , I = {1,2,Κ , n} – множества игроков, будем называть арбитражной схемой. Очевидно, игроки (или арбитр) должны руководствоваться некоторыми объективными представлениями о «справедливости» (принципом оптимальности). 2. Принцип оптимальности Нэша для общих арбитражных схем. Сформулируем для арбитражных схем аксиомы, которым должно удовлетворять правило ϕ , сопоставляющее каждому выпуклому замкнутому подмножеству U и точке u * точку u ∈ U. 1. Реализуемость: u ∈ U. 29
2. Индивидуальная рациональность: u ≥ u* .
3. Оптимальность по Парето: если u ∈ U и u ≥ u , то u = u . 4. Независимость от посторонних альтернатив: если u ∈ V ⊂ U и u = ϕ ( U , u * ), то u = ϕ ( V , u * ). 5. Линейность: если множество U ′ = αU + β получается из U с помощью линейного преобразования, т.е. u i* = α i u i + β i ( 1 ≤ i ≤ n ), а ϕ (U , u * ) = u , то ϕ ( U , αu * + β ) = αu + β . 6. Симметрия: пусть π – произвольная перестановка игроков, для которой из u ∈ U следует πu ∈ U . Пусть также πu * = u * , ϕ (U , u * ) = u . Тогда πu = u . Первые три аксиомы, несомненно, разумны, и комментарии излишни. Аксиома 4 означает, что, имея большие возможности для выбора u , игроки согласятся на этот же вектор выигрышей при меньших возможностях, если этот вектор допустим. Аксиома линейности утверждает, что в разных шкалах измерения полезностей игроки руководствуются одинаковым принципом оптимальности при выборе u . Шестая аксиома (иногда называемая аксиомой анонимности) постулирует равноправие игроков. Далее для простоты будем считать, что в множестве U существует вектор u, каждая i -я координата которого строго больше u i* . Противный случай тривиален. Оказывается, имеет место следующая замечательная теорема. Теорема 1. Существует единственная функция ϕ (U , u * ) = u , определенная для всех арбитражных схем < I ,U , u * > и удовлетворяющая аксиомам 1 – 6. Эта функция определяется следующим образом: ϕ (U , u*) = {u | max g (u ,U , u*) = g (u ,U , u*)} , u ≥u* u∈U
(2.1.)
где n
g (u ,U , u*) = ∏ (u i − u i *) .
(2.2.)
i =1
Распределение выигрышей согласно функции ϕ (U , u * ) = u имеет ряд существенных недостатков. Основной из них состоит в следующем. Пусть имеется некоторое конечное множество игроков I = (1,2,Κ , n) . Любое его подмножество S ⊂ I , включая само множество I и одноэлементные подмножества {i} , а также пустое множество ∅ называется коалицией. Может сложиться такое положение дел, когда некоторая коалиция S ⊂ I обеспечивает для всех игроков выигрыши строго большие, чем ϕ i (U , u * ) . В этом случае игроки кооперативной игры, вступая в соглашения, друг с другом, не будут согласны с распределением выигрышей ϕ (U , u * ) . Поэтому решение о распределении согласно вектору ϕ (U , u * ) может быть лишь принято некоторым 30
третьим лицом – арбитром. Это решение оптимально в смысле аксиом 1 – 6 и носит обязательный характер. Отсюда берут свое название «арбитражные схемы». Вывод. Мы ввели понятие кооперативной игры, дали базовые понятие коалиции и арбитража, которые понадобятся нам для решения вопросов связанных с кооперативными играми.
2.2. Классические кооперативные игры 1. Природа и структура кооперативных игр п лиц. Пусть условия неантагонистического конфликта таковы, что допускается заключение взаимообязывающих соглашений о стратегиях, а выигрыши могут перераспределяться между игроками. Тогда достаточно рассматривать только суммарный выигрыш игроков, образующих коалицию, причем масштабы функций полезностей игроков могут быть выбраны так, что полезности для любых двух игроков передаются без их численного изменения. В этом случае силу коалиции S полностью характеризует число v(S), которое определим следующим образом. Объединение игроков из S означает превращение их в единого игрока I, стратегией которого являются всевозможные совместные действия составляющих его игроков из S, а выигрышем — сумма выигрышей игроков i∈S. В худшем для объединенного игрока I случае игроки из I \ S могут также объединиться в некоторого коллективного игрока II с интересами, диаметрально противоположными интересами игрока I. В результате коалиция S (как игрок I) может себе гарантировать выигрыш v(S), равный значению возникающей антагонистической игры. Иными словами v(S) – гарантированное математическое ожидание выигрыша игроков коалиции S, действующих совместно против объединенных игроков коалиции I \ S. Мы будем предполагать, что значение v(S) существует для любой коалиции S ⊂ I. Определение 1. Кооперативной игрой п лиц называется пара (I, v), где I={1, 2,...., n}, a v (v(∅) = 0) – функция, определенная на всех подмножествах S⊂ I. Функция v называется характеристической функцией. Таким образом, кооперативную игру п лиц можно анализировать с помощью характеристической функции, область определения которой состоит из 2n возможных подмножеств множества I. Если для всех непересекающихся подмножеств S и T (S, T ⊂ I, S ∩ T = ∅) выполняется неравенство v(S) + v(T) ≤ v(S ∪ Т),
(2.3.)
то характеристическая функция называется супераддитивной. Это свойство содержательно выражает то обстоятельство, что объединение игроков в коалиции является целесообразным с точки зрения увеличения выигрыша, т.е. 31
условие (2.3.) отражает разумность коллективистской точки зрения. Далее будем рассматривать игры, для которых выполняется условие (2.3.). Методом математической индукции из неравенства (2.3.) нетрудно получить следующее неравенство: ⎛k ⎞ v ( S ) v ≤ ∑ i ⎜⎜ Υ S i ⎟⎟ , i =1 ⎝ i =1 ⎠ k
где Si – непересекающиеся коалиции. Следовательно,
∑ v({i}) ≤ v(I ) ,
(2.4.)
i∈I
В дальнейшем величина v({i}) будет обозначаться через v(i). Определение 2. Игра (I, v) называется существенной, если
∑ v(i) < v(I )
(2.5.)
i∈I
В противном случае игра называется несущественной. Обозначим через xi сумму, которую получит игрок i ∈ I при распределении полезности, имеющейся в распоряжении множества игроков I, и дадим следующее определение. Определение 3. Дележом называется вектор x = (x1, x2, …, xn), удовлетворяющий условиям xi ≥ v(i) для всех
∑ x i = v (I )
i ∈ I,
(2.6.) (2.7.)
i∈I
Условие (2.6.) называется условием индивидуальной рациональности и характеризует предположение, что, участвуя в коалиции, каждый игрок получает, по меньшей мере, столько, сколько он мог бы получить, действуя самостоятельно и не заботясь о согласии каких-либо других игроков. В противном случае он в распределении х будет получать меньше, чем v(v), и тем самым это распределение не будет реализовано. Вполне обосновано также условие (2.7.), так как в случае
∑ x i < v (I )
i∈I
существует распределение х', при котором каждый игрок i ∈ I получит больше, чем его доля xi. Если же 32
∑ x i > v (I ) ,
i∈I
то игроки из I делят между собой нереализуемую полезность, и поэтому вектор х неосуществим. Следовательно, вектор х может считаться допустимым только при выполнении условия (2.7.), которое называется условием коллективной (или групповой) рациональности. На основании условий (2.6.), (2.7.) для того чтобы вектор x = (x1, x2, …, xn) был дележом в кооперативной игре (I, v), необходимо и достаточно выполнение равенства xi = v(i) + αi , i ∈ I, причем αi ≥ 0, i ∈ I, ∑ α i i∈I
= v (I ) − ∑ v (I ) . i∈I
В дальнейшем для любого дележа x через x(S) мы будем обозначать величину ∑ xi , а множество всех дележей через H. i∈S
Таким образом, исходом кооперативной игры является дележ, который возникает в результате соглашения игроков. Поэтому в кооперативных играх сравниваются, по предпочтительности не ситуации, а дележи и это сравнение, имея сложный характер, исходят из различных представлений об оптимальности для этих классов игр. В результате принципы оптимальности для кооперативных игр оказываются весьма разнообразными. 2. Доминирование дележей. Проблема анализа кооперативной игры состоит в том, чтобы определить дележ, который является результатом игры. Она тривиально разрешима для несущественной игры, так как в этом случае v(I ) = ∑ v(i ) i∈I
и условия (2.6.), (2.7.) выполняются только при xi = v(i). Следовательно, несущественная игра имеет единственный дележ x = ( v(1), v(2), …, v(n)). Во всякой существенной игре с более чем одним игроком множество дележей бесконечно. Поэтому будем анализировать такие игры при помощи отношения доминирования. Определение 4. Дележ х доминирует дележ y по коалиции S, если
33
xi > yi для всех i ∈ S,
(2.8.)
x(S) ≤ v(S). Первое условие определения (2.10) означает, что дележ х лучше дележа у для всех членов коалиции S, а второе отражает реализуемость дележа коалицией S (т.е. коалиция S на самом деле может предложить каждому из игроков i ∈ I величину xi). Определение 5. Дележ х доминирует дележ у, если существует коалиция S, для которой х доминирует у. Доминирование невозможно по одноэлементной коалиции и множеству всех игроков. Действительно, если бы y доминировал x по {i}, то xi < yi ≤ v(i), что противоречит условию (2.6.). А если бы y доминировал x по {i}, то xi > yi для всех i ∈ I, и потому
∑ xi > ∑ y i = v(I ) , что противоречило бы условию (2.7.).
i∈I
i∈I
3. Эквивалентность кооперативных игр. Объединение кооперативных игр в те или иные классы существенно упрощает их последующее рассмотрение. В качестве таких классов можно взять классы эквивалентных игр. Определение 6. Кооперативная игра (I, v) называется эквивалентной игре (I, v’), если существуют положительное число k и п таких произвольных вещественных чисел chi (i ∈ I), что для любой коалиции S ⊂ I выполняется равенство v' ( S ) = kv( S ) +∑ ci
(2.9.)
i∈S
Интересно сравнить это определение с определением стратегической эквивалентности бескоалиционных игр. В последнем случае было больше произвольных параметров. Это связано с тем, что в теории бескоалиционных игр полезности игроков могут иметь разные шкалы, а в кооперативных играх все игроки измеряют полезности в одной шкале. Эквивалентность игры (I, v) и (I, v’) будем обозначать как (I, v) ~ (I, v’) или v ~ v’. Очевидно, что v ~ v. Чтобы убедиться в этом, достаточно положить в формуле (2.9) ci= 0, k = 1, v' = v. Только что доказанное свойство называется рефлективностью. Также выполняется симметрия отношения, т. е. что из условия v ~ v' следует v' ~ v. Наконец, если v ~ v' и v' ~ v" , то v ~ v". Это свойство называется транзитивностью. Оно проверяется последовательным применением формулы (2.9.). В силу того, что отношение эквивалентности рефлексивно, симметрично и транзитивно, оно разбивает множество всех игр на классы эквивалентных игр. 34
Теорема 2. Если две игры v и v' эквивалентны, то отображение x → x’, где
xi’ = kxi + ci, i ∈ I,
устанавливает такое взаимно однозначное отображение множества всех дележей игры v на множество дележей игры v', что из того, что х доминирует у по S следует что х’ доминирует у’ по S. 4. Нормализация игр (0 – 1 – редуцированная форма). После разбиения множества кооперативных игр на попарно непересекающиеся классы эквивалентности возникает задача выбора по одному представителю, от каждого класса. С этой целью дадим следующее определение и затем докажем соответствующую теорему. Определение 7. Игра v называется игрой в 0 – 1 – редуцированной форме, если v(i) = 0 для всех i ∈ I, v(I) = 1. Теорема 3. Каждая существенная кооперативная игра эквивалентна некоторой игре в 0 – 1 – редуцированной форме. Замечание. Из теорем 2 и 3 следует, что все явления, описываемые в терминах доминирования, для существенных игр можно изучать на играх в 0–1 – редуцированной форме. Нетрудно показать, что если v – характеристическая функция произвольной существенной игры, то
v' (S ) =
v(S ) − ∑ v(i ) i∈S
v(I ) − ∑ v(i )
,
(2.10.)
i∈I
есть 0 – 1 – нормализация, соответствующая функции v. При этом дележом оказывается любой вектор x = (x1, x2, …, xn), компоненты которого удовлетворяют условиям xi > 0 (i ∈ I), ∑ xi =1.
(2.11.)
i∈I
5. с-ядро. Очевидно, что если игроки кооперативной игры (I, v) придут к такому соглашению о распределении выигрыша всей коалиции S (дележу x*), при котором ни один из дележей не доминирует дележ х*, то такое распределение будет устойчивым (ни одной из коалиций S будет невыгодно отделиться от других игроков и распределять между членами S выигрыш v(S)). Это замечание наводит на мысль о важности множества недоминируемых дележей.
35
Определение 8. Множество недоминируемых дележей кооперативной игры называется ее с-ядром. С-ядра кооперативной игры полностью описываются следующей теоремой. Теорема 4. Для того чтобы дележ х принадлежал с-ядру, необходимо и достаточно выполнение неравенств v(S) ≤ x(S) для любого S ⊂ I.
(2.12.)
Из теоремы 4 следует, что с-ядро является замкнутым выпуклым (возможно пустым) подмножеством множества всех дележей. 6. Решение по Нейману – Моргенштерну (Н – М – решение). Было бы идеальным найти такое распределение выигрышей между игроками, которое бы находилось в с-ядре и доминировало все остальные дележи. Однако это возможно только для несущественных игр, в которых множество дележей одноэлементно. Нейман и Моргенштерн предложили искать решения в виде подмножеств множества дележей, которые в некотором смысле выполняют роль этого идеального дележа, о котором только что говорилось. А именно, элементы искомого подмножества должны доминировать любые дележи, лежащие вне него (внешняя устойчивость), и не доминировать друг друга (внутренняя устойчивость). Формально это приводит к следующему определению. Определение 9. Подмножество дележей R кооперативной игры (I, v) называется Н – М – решением, если: 1) из того, что х доминирует у следует, что либо х ∉ R, либо у∉ R; 2) для любого x∉R существует такой y ∈ R, что у доминирует х. Мы не видим прямых возможностей применения понятия Н – М – решения на практике. Оно несет скорее философский, нежели практический смысл. Например, Н. Н. Воробьев интерпретирует понятие Н – М – решения как «представление о такой системе норм поведения, что последствия двух допустимых этими нормами поведений не могут быть противопоставлены какой-либо общественной силой (коалицией) друг другу, а каково бы ни было отклонение от допустимых поведений, в обществе (т.е. в множестве всех игроков I) найдутся такие силы (т.е. некоторая коалиция), которые будут стремиться к восстановлению нормы». Между с-ядром кооперативной игры и ее H – М – решением имеется известная связь. Например, если с-ядро непусто и Н – М – решение существует, то оно содержит с-ядро. Теорема 5. Если для характеристической функции игры в (0, 1) – редуцированной форме (I, v), | I | = n выполняются неравенства v( S ) ≤
1 , n − | S | +1
где |S| – число игроков в коалиции S, то с-ядро этой церы непусто и является ее H – М – решением. Заметим теперь, что если 36
1 r (| S |) > , при | S |= m v( S ) = { , n − m +1 0, при | S |≠ m
то легко видеть, что дележ x = ( 1 / ( n –m +1 ), …, 1 / ( n –m +1 ), 0, …, 0), лежащий вне с-ядра, не может доминироваться никаким дележом у из с-ядра. Этот пример показывает, что если v(S) оценивать некоторой функцией к(|S|), то нельзя усилить ни одно из неравенств, приведенных в теореме, чтобы утверждение теоремы оказалось верным. 7. Вектор Шепли. В предыдущем пункте мы рассматривали решения (сядро, Н – М – решевие), которые связаны с устойчивостью поведения игроков. Здесь мы займемся нахождением таких решений, которые, вообще говоря, определяются некоторым третьим лицом – арбитром – согласно определенным понятиям «разумности» или «справедливости». С аналогичным подходом мы уже сталкивались при рассмотрении арбитражных схем. Теперь определим один из «справедливых» дележей. Поставим в соответствие каждой кооперативной игре (I, v) вектор Ф = (Ф1(v), ..., Фn(v)), компоненты которого будем интерпретировать как полезности, получаемые игроками в результате соглашения или решения арбитра. Будем считать, что наши соображения о справедливом дележе воплощены в следующих четырех аксиомах, впервые в несколько иной, но равносильной форме сформулированных Шепли в 1953 г. 1. Симметрия: пусть π – произвольная перестановка игроков, причем v(S) = v(π(S)). Тогда Фi(v) = Фπ(i)(v), где через π(i) обозначен образ игрока i при перестановке π. 2. Оптимальность по Парето:
∑ Φ i ( v ) = v (i ) .
i∈I
3. Эффективность: если для любой коалиции S ⊂ I выполняется равенство v(S∪{i})=v(S), то Фi(v) =0. 4. Агрегация: если характеристическая функция w игры (I, w) равна сумме характеристических функций v и u соответственно игр (I, v) и (I, u), т.е. для любой коалиции S ⊂ I справедливо равенство w(S) = v(S) + u(S), то Фi( w ) = Фi( v + u ) = Фi(v) + Фi(u), i ∈ I. 37
Первые три аксиомы не вызывают возражений и, по-видимому, должны выполняться при любом определении «справедливого» дележа. Последняя аксиома не совсем естественна, так как предполагается, что при участии игроков в двух играх (сложение характеристических функций можно понимать как участие игроков I в двух играх) их выигрыши в отдельных играх должны складываться. В результате вектор Ф(v) для некоторых игр приобретает ряд нежелательных свойств. Например, он не всегда содержится в с-ядре, даже когда оно непусто. Однако довольно часто дележ согласно вектору Ф(v) вполне удовлетворителен. Система, состоящая из аксиом 1 – 4, является непротиворечивой и полной. Определение 10. Пусть Ф – функция, ставящая в соответствие согласно аксиомам 1 – 4 каждой игре (I, v) вектор Ф(v). Тогда Ф(v) называется вектором Шепли игры (I, v). Оказывается функция, для которой выполняются аксиомы 1 — 4, существует и единственна. Для каждой характеристической функции v вектор Ф(v) является дележом. Но прежде чем это доказывать, выясним, что нам дают три первые аксиомы. Определение 11. Характеристическая функция vs кооперативной игры называется простейшей, если она для любого Т определяется равенством
1, еслиT ⊃ S v s (T ) = { 0, еслиS ⊄ T
(2.13.)
Легко проверить, что функция vs(T), как и функция сvs(T) (c>0) действительно является характеристической, т. е. для нее выполняются неравенства (2.5.). Из аксиомы 3 следует, что Фi(сvs) = 0 (i ∉ S). Функция cvs симметрична относительно всех перестановок игроков, входящих в коалицию S. Поэтому согласно первой аксиоме все компоненты вектора Шепли, соответствующие игрокам коалиции S, равны между собой. Наконец, применяя аксиому 2, получим Фi(сvs) = с / |S|
(2.14.)
Следовательно, первые три аксиомы определяют вектор Шепли для простейших характеристических функций. Любая характеристическая функция является элементом (2n – 1) – мерного пространства: каждой непустой коалиции T ⊂ S соответствует координатная ось, а координата вектора на этой оси равна v(T). Эти векторы мы будем обозначать, как и функции, через v. Очевидно, простейшим характеристическим функциям соответствуют векторы, координаты которых равны либо нулю, либо единице.
38
Справедливо утверждение о том, что простейшие характеристические функции (или, что тоже самое, векторы им соответствующие) линейно независимы. Теорема 6. Существует единственная функция Ф, удовлетворяющая аксиомам 1 – 4. При каждой v образ Ф(у) является дележом кооперативной игры (I, v). Следствие. Компоненты вектора Ф(v) определяются равенствами Φ i (v ) =
(| S | −1)!(n − | S |)! [v( S ) − v( S \ {i})] , n! S⊂I
∑
i ∈ I.
i∈S
8. n-ядро. В 1969 г. Шмайдлер определил понятие n-ядра. По его мнению распределение выигрыша x = (x1, x2, …, xn) между игроками надо считать справедливым, если x(S) «мало» отличается от v(S) для любой коалиции S ⊂ I = = {1 2, ..., n} в том случае, когда v(S) > x(S). Определение 12. Величина
e(S, х) = v(S) - x(S)
(2.15.)
называется эксцессом. Содержательно эксцесс можно трактовать как меру неудовлетворенности игроков, входящих в коалицию S, дележом х. Эксцесс определен для любой непустой коалиции S. Набор из 2n - 1 эксцессов является мерой близости дележа х к характеристической функции v: каждому дележу х ставится в соответствие (2n - 1)-мерный вектор. e( x) = (e( S1 , x),..., e( S
2 n −1
, x) = (e1 ( x),..., em ( x)) ,
m = 2n - 1
где S1 – коалиция, для которой эксцесс максимален, S2. – коалиция, имеющая следующий по величине эксцесс и т.д. Для вектора е выполняются неравенства e( S1 , x) ≥ e( S 2 , x) ≥ ... ≥ e( S
2 n −1
, x)
На множестве всех дележей введем следующее отношение предпочтения. Пусть k – номер первой из координат вектора е(х), которая отличается от соответствующей координаты вектора е(у), т.е. e1(x) = e1(y), ek-1(x) = ek-1(y), ek(x) ≠ ek(y). Тогда х доминирует y по e, если ek(x) < ek(y). Определение 13. Максимальный элемент относительно предпочтения доминирования по e называется n-ядром. Теорема 7. Для каждой кооперативной игры (I, v) существует единственное п-ядро. Из определения n-ядра следует, что его можно найти последовательно, решая задачи линейного программирования. На первом этапе будем искать минимум yi при 39
yi > v(S)-x(S),
S ∈ I,
n
∑ xi = v(I), i =1
yi ≥v(i),
i = l, 2, ..., п.
Если [S1, …, Sk] – множество коалиций, для которых первые из неравенств являются равенствами при всех решениях предыдущей задачи линейного программирования, а значение минимума равно y1*, то на втором этапе решаем задачу минимизации y2 при условиях y2 ≥ v(S)-x(S), S ≠ S1’, S2’, ... Sk’, v(Sj’) – x(Sj’) = y1*, j = 1, 2, …, k, n
∑ xi = v(I), i =1
xi ≥ v(i), i = 1, 2, …, n На k-м этапе решаем задачу минимизации yk при условиях yk ≥ v(S)-x(S), v(Sjt) – x(Sjt) = yt*, t = 1, 2, …, k - 1, n
∑ xi = v(I), i =1
xi ≥ v(i), i = 1, 2, …, n где S – коалиции, на которых достигается минимум при всех решениях задачи линейного программирования на этапе t, a yt* – значение минимума. Как следует из теоремы 7, через конечное число шагов мы придем к задаче, которая имеет единственное решение, равное n-ядру. Предположим теперь, что с-ядро кооперативной игры (I, v) не пусто. Если y не содержится, а х содержится в с-ядре, то очевидно, х доминирует у по e, так как все координаты вектора е(х) неположительны, а вектор е(у) имеет по крайней мере одну положительную координату. Поэтому п-ядро всегда содержится в с-ядре, если последнее не пусто. В этом отношении тг-ядро предпочтительнее вектора Шепли, который, вообще говоря, не содержится в сядре. 40
Вывод. Самым главным в добыче является ее дележ. Сейчас мы изложили базовые принципы построения коалиций и определения дележа совместного выигрыша. К сожалению теория игр не может справиться с задачей дележа и может лишь предложить все возможные варианты и уже участники коалиции сами решают как поделить выигрыш.
2.3. Кооперативные игры с бесконечным числом игроков 1. Природа и структура кооперативных игр с бесконечным числом игроков. Кооперативные игры с небольшим количеством игроков не могут служить адекватными моделями целого ряда экономических конфликтов, в которых отдельный участник не влияет (или почти не влияет) на выигрыши других игроков, а значит, и на выигрыши соответствующих коалиций. Анализ таких конфликтов путем построения кооперативных игр с очень большим числом игроков часто затемняет их смысл, благодаря наличию несущественных мелких подробностей, мешающих, видеть конфликт в «чистом виде». Поэтому, как и в бескоалиционных играх, часто за множество игроков принимают единичный интервал с заданной на нем мерой Лебега. Определение 14. Кооперативной игрой с континуумом игроков называется σ-алгебра θ (мы будем считать ее сигма-алгеброй борелевских подмножеств) сегмента I = [0, 1] с заданной на ней мерой Лебега и вещественной функцией v, удовлетворяющей условиям
v(A) + v(B) ≤ v(A ∪ В), А, В ∈ θ, А ∩ В = 0, v(∅) = 0.
(2.16.)
Для игр с континуумом игроков можно определить понятия дележа, доминирования, с-ядра, n-ядра, Н – М – решения и дележа Шепли. Например, дележом кооперативной игры с континуумом игроков будет счетно-аддитивная мера х (иногда допускаются конечно-аддитивные меры) на θ, для которой v(I)=x (I) и выполняются условия индивидуальной рациональности. Эти условия в этом случае не столь просты, как в конечных играх. Все эти множества не всегда существуют, а в тех случаях, когда они непусты, доказательства их существования гораздо сложнее, чем для конечных игр. Можно определить аналоги аксиом Шепли (см. аксиомы 1 – 4 классических кооперативных игр) для игр с бесконечным числом игроков. Например, аксиома симметрии будет иметь следующий вид: если Т, сохраняющее меру Лебега измеримое преобразование отрезка [0, 1], a v(S)=v(T(S)) для S ⊂ [0, 1], то x*(S) = x*(T(S)) где мера х* соответствует понятию вектора Шепли для конечных игр. В бесконечных играх функция Шепли не всегда существует. Мы ограничимся доказательством ее существования для игр со счетным числом игроков, отослав заинтересованного читателя к книге Лумапа и Шепли, в 41
которой проблема существования функции Шепли освящается во всей ее полноте. 2. Кооперативные игры со счетным числом игроков (дележ Шепли). Обозначим через I = {1, 2, ..., n, ...} множество всех игроков и дадим следующие определения. Определение 15. Пара (I, v) называется кооперативной игрой со счетным числом игроков, если v — функция, заданная на множестве S = 2I всех подмножеств I и удовлетворяющая условию v(S1) + v(S2) ≤ v (Sl ∪ S2), Sl, S2 ∈ S, SI ∩ S2 = ∅, v(∅)=0.
(2.17.)
Функция v называется характеристической. Определение 16. Дележом игры (I, v) называется счетно-аддитивная мера x, заданная на σ-алгебре всех подмножеств I для которой х(I) = v(I), x({i}) = xi ≥ v({i}) = v i. Таким образом, дележ представляется набором чисел ∞
xi (i ∈ I, x i, x i ≥ vi, ∑ xi = v(I)). i =1
Отождествим множество S = 2I с тихоновским произведением счетного числа компактов с дискретной топологией {0, 1} следующим образом: игрок i содержится в коалиции S ∈ S в том и только в том случае, когда i-я координата S равна единице. Множество S является компактом. Каждый дележ х определяет функцию x(S) на S. Легко проверить, что эта функция непрерывна, так как тихоновская топология на S является топологией покоординатной сходимости и, следовательно, lim x( S n ) ∑ xi = x( S ) , i∈S
Sn → S.
Далее мы будем рассматривать только непрерывные на S характеристические функции. Как и в конечном случае, для игр со счетным множеством игроков стоит задача определения «справедливого» вектора выигрышей игроков Ф(v)=(Ф1,(У), Ф2(v), ..., Фn(v),...). Аналоги аксиом Шепли для игр со счетным числом игроков будут иметь следующий вид.
42
1. Симметрия: если для любой перестановки π некоторого конечного множества игроков So ⊂ I v(S) = v(π(S)), S ⊂ I, то Фi(v) = Фj(v), i, j ∈ So. где через π(i) обозначен образ игрока i при перестановке π. 2. Оптимальность по Парето: ∑ Φ i ( v ) = v (i ) . i⊂ I
3. Эффективность: если для любой коалиции S (i ∉ S) выполняется равенство v(S∪{i})=v(S+i) = v(S), то Фi(v) =0. 4. Агрегация: если характеристическая функция w игры (I, w) равна сумме характеристических функций v и u соответственно игр (I, v) и (I, u), т.е. для любой коалиции S ⊂ I справедливо равенство w(S) = v(S) + u(S), то Фi( w ) = Фi(v) + Фi(u) , i ∈ I. 5. Непрерывность: пусть последовательность vn непрерывных характеристических функций равномерно на S сходится к характеристической функции v. Тогда Фi(vn) → Фi(v), i∈ I. Первые четыре аксиомы не требуют комментария, так как они мало чем отличаются от соответствующих аксиом для конечных игр. Пятая аксиома фактически означает, что если для любой коалиции характеристическая функция мала, то и выигрыш каждого игрока должен быть мал. Например, если характеристическая функция стремится к нулю, то и выигрыши игроков должны стремиться к нулю. Это требование нам представляется естественным. Определение 17. Пусть Ф – функция, ставящая в соответствие согласно аксиомам 1-5 каждой игре (I, v) вектор Ф(v). Тогда Ф(v) называется вектором Шепли кооперативной игры (I, v). Определение 18. Игра (I, v), где 1, еслиT ⊃ S , v S (T) = { 0, иначе
называется простейшей, если S - конечное множество. Легко проверяется, что функция vs действительно является характеристической. Кроме того, как нетрудно видеть, она непрерывна на S. 43
Эти утверждения верны также для функций cvs (c>0). Как и в конечном случае, 1 – 3 легко убедиться, что вектор Шепли Ф(cvs) игры (I, cvs) будет определяться равенствами c , еслиi ∈ S , Φ (cv S ) = {| S | 0, иначе
(2.18.)
Оказывается, в играх со счетным числом игроков значения вектора Шепли для функций vs полностью определяют его значения для игр с непрерывными характеристическими функциями. Лемма 1. Пусть (I, v) — игра со счетным множеством игроков и непрерывной па S характеристической функцией v, a Im= {1, 2, ..., m}. Тогда последовательность функций vIm, где vIm (S) = v (S ∩ Im), равномерно на S сходится к характеристической функции v. Функции vIm являются непрерывными характеристическими функциями. Теорема 8. Если существует функция Ф, ставящая в соответствие согласно аксиомам 1–5 каждой непрерывной функции v на S вектор Шепли Ф(v), то координаты Фi(v) однозначно определяются равенствами. Φ i (v) = ∫ (v( S + i ) − v( S ))dµ i Si
.
Теорема 9. Для того чтобы игра (I, v) с непрерывной характеристической функцией имела вектор Шепли, необходимо и достаточно выполнение следующего условия:
∑
Sˆ ⊂ I n
| Sˆ |!(n − | Sˆ |)! (v1 ( Sˆ ) −v 2 ( Sˆ )) → 0 n!
при n→ ∞ (S^ пробегает собственные подмножества Im). Это условие должно выполняться при любом упорядочении игроков. Вывод. Зачастую количество участников в игре очень велико и мы не можем решать задачу создания коалиций методами, применяемыми для создания конечных коалиций. Методы, применяемые для случая бесконечного числа игроков, были изложены в этой главе. Мы рассмотрели расширенную модель теории игр, которая позволяет нескольким игрокам объединяться для получения большей прибыли. Были рассмотрены различные возможности и правила для образования коалиций. Контрольные вопросы: 1. Дайте определение кооперативной игры. 2. Назовите области, в которых могут быть применены кооперативные игры. 3. Дайте определение дележа. 44
Глава 3 ДИФФЕРЕНЦИАЛЬНЫЕ ИГРЫ Зачастую действия игроков не могут быть разбиты на отдельные ходы как в шахматах. Например, при вождении автомобиля водитель постоянно должен управлять своей машиной и его действия невозможно разбить на отдельные ходы. Понятно, что обычную гонку тоже можно рассматривать, как игру – есть несколько участников, есть цель, которой они добиваются, есть формализованные правила игры. Вопрос лишь в том, как ее описать. В этом нам помогут дифференциальные игры.
3.1. Стратегии и движения В этой главе будет дана строгая формализация позиционной дифференциальной игры. Прежде всего, следует определить понятия позиционных способов управления U или V , которые мы будем именовать стратегиями, и понятие движения x[t ] , порождаемого той или иной стратегией. Эти определения и составляют содержание данного параграфа. Будем рассматривать наши игровые проблемы управления всякий раз со стороны того или иного игрока. Этого игрока, сторону которого мы будем принимать, назовем союзником, трактуя другого игрока как противника. Для определенности в этом параграфе сначала будем считать союзником первого игрока, который распоряжается управляющим воздействием u . При другом распределении ролей в следующих рассуждениях достаточно поменять местами буквы u и v . По смыслу задач, которые мы собираемся рассматривать, союзник должен вести позиционную игру. Примем, что данные, на основе которых союзник может формировать свои управляющие воздействия u в каждый текущий момент времени t , доставляются информацией о текущей позиции {t , x[t ]} , складывающейся в тот же момент времени t . Поэтому понятия стратегий U и порождаемых ими движений x[t ] следует формализовать так, чтобы отразить построение управления u по принципу обратной связи, исходя из реализующихся позиций {t , x[t ]} . Кроме того, желательно формализовать эти понятия так, чтобы явно был виден переход от них к осуществимым на практике законам управления, которые базировались бы на такой же информации о реализующихся позициях {t , x[t ]} . Сделаем это следующим образом. Функцию f (t , x, u, v) в правой части уравнения движения x = f (t , x, u, v) ,
(3.1.)
45
будем полагать непрерывной при всех тех значениях ее аргументов, которые только могут встретиться. Кроме того, примем, что допустимые значения и и v в (3.1.) стеснены условиями u ∈ P, v ∈ Q ,
(3.2.)
где P и Q суть замкнутые множества в пространствах {u} и {v}, характеризующие возможности игроков. Рассматриваемые ниже векторы будем обозначать, как правило, малыми латинскими буквами. При этом если не будет специальных оговорок, эти векторы следует трактовать как вектор-столбцы. Будем отождествлять стратегии U первого игрока с функциями u (t , x) , стесненными в соответствии с условиями (3.2.) только включением u (t , x) ∈ P при всех возможных значениях аргументов. Соотношение между стратегией U и ее функцией u (t , x) будем изображать символом U ÷ u (t , x) . Пусть дана начальная позиция {t * , x * } и выбрана стратегия U ÷ u (t , x) . Покроем полуось t * < t < ∞ системой ∆ полуинтервалов τi ≤ t ≤ τi+1 (i = 0, 1, ..., τ0 = t*,). Пусть далее v[t ] ∈ Q ( t > t 0 ) – какая-то интегрируемая по Лебегу реализация управления v , развертывающаяся во времени t на основании тех или иных соображений, которыми захочет воспользоваться противник. Условие интегрируемости реализаций v[t ] по Лебегу может быть заменено без особенного влияния на существо дела предположением, что реализация v[t ] является кусочнонепрерывной функцией v[t ] , допускающей только разрывы первого рода, или даже предположением, что v[t ] есть кусочно-постоянная функция времени t . Назовем ломаной Эйлера x ∆ [t ] = x ∆ [ t , t * , x * , U , v [•]] абсолютно непрерывное решение дифференциального уравнения x&∆ [t ] = f (t , x ∆ [t ], u (τ i , x ∆ , [τ i ]), v[t ])
(τ i ≤ t < τ i +1 , i = 0,1,...),
(3.3.)
удовлетворяющее начальному условию x ∆ [t * ] = x * . Существование такого решения x ∆ [t ] , для которого равенство (3.3.) выполняется при почти всех значениях t из интервала существования, устанавливается известными теоремами из математического анализа. Далее, если при всех возможных значениях аргументов t , x , u и v выполняется неравенство f (t , x, u , v) ≤ χ (1 + x ),
χ = const ,
(3.4.)
то при любом выборе {t * , x * } , U , ∆ и v[t ] существует решение x ∆ [ t , t * , x * , U , v [•]], продолжимое на всю полуось [ t * , ∞). Символ x здесь и ниже обозначает евклидову норму вектора x , т.е. x = ( x z2 + Κ + x n2 )1 / 2 . Всюду в 46
дальнейшем, если не будет оговорено противное, будем предполагать условие (3.4.) выполненным. Читатель, которому не хотелось бы работать с интегрируемыми по Лебегу функциями v[t ] и соответственно с абсолютно непрерывными функциями x ∆ [ t ] из (3.3), может без искажения существа дела определять ломаную Эйлера x ∆ [ t ] = x ∆ [ t , t * , x * , U , v [•]], как непрерывную кусочно-дифференцируемую функцию x ∆ [ t ], которая удовлетворяет условию x ∆ [ t * ] = x * и равенству (3.3.) при всех тех значениях t ≠ τ i , при которых непрерывна кусочно-непрерывная функция v [ t ]. И здесь при выполнении неравенства (4) при любом выборе {t * , x * } , U , ∆ и v [ t ] согласно известным теоремам из анализа существует решение x ∆ [ t , t * , x * , U , v [•]], продолжимое на всю полуось [ t * , ∞). Поясним, пользуясь, случаем, что точка на месте аргумента в символе v [•] говорит о том, что речь идет не о значении функции v [ t ] при том или ином значении аргумента t , а обо всей этой функции, как едином целом. Движением x [ t ] = x ∆ [ t , t * , x * , U , v [•]], порожденным стратегией U ÷ u (t , x) из позиции {t * , x * } , будем называть всякую функцию x [ t ], для которой на всяком отрезке t * ≤ t ≤ ϑ найдется последовательность ломаных x∆(k)[ t , t * , x ( k ) , x (k ) , v (k ) [•]], равномерно сходящаяся к x[t ] на отрезке t * ≤ t ≤ ϑ при условии lim sup i (τ i[+k1] − τ i[ k ] ) = 0 , когда k →∞. Надлежит заметить, что стратегия U при фиксированной начальной позиции {t * , x * } порождает, вообще говоря, не одно движение x [ t , t * , x * , U ], а целое множество таких движений в соответствии с многообразием последовательностей реализаций v (k ) [ t ], ∆(k ) , x (k ) , которые могут случиться при построении ломаных Эйлера x ∆ (k ) [ t , t * , x (k ) , U , v (k ) [•]] определяющих x [ t ]. Следует обратить внимание и на то, что от движения x[t] не требуется, чтобы оно было решением дифференциального уравнения x&= f (t , x, u (t , x]), v[t ]) , которое можно получить из уравнения (3.1.), подставляя вместо u функцию u (t , x) , а вместо v – какую-либо подходящую функцию v [ t ]. Движение x [ t ] просто определяется как предельная функция для какой-нибудь подходящей последовательности ломаных Эйлера x∆ (k ) [ t ]. Такое определение движений x [ t ] как некоторых идеальных предельных элементов можно объяснить следующими обстоятельствами. Полезные законы управления u (t , x) в игровых задачах динамики часто носят разрывный характер. Данное выше определение движения x [ t ] описывает его в меру строго, как математический объект. В то же время оно не требует заботы о функциональных свойствах (непрерывность, дифференцируемость и т. д.) функций u (t , x) , отождествляемых со стратегиями U . Существование движений x [ t , t * , x * , U ] и их удобные математические свойства проверяются без большого труда при весьма общих предположениях. В самом деле, при условии (3.4.) любая последовательность x∆ ( j ) [ t , t * , x ( j ) , U , (j)
= x при j → ∞, образует на всяком конечном отрезке [ t , ϑ ] множество равномерно ограниченных и v ( j ) [•]] ( j = 1, 2, ...), где lim sup i (τ[i +j1] − τ[i j ] ) = 0 , lim x *
47
равностепенно непрерывных функций. Отсюда на основании известных теорем математического анализа вытекает возможность выбора из последовательности { x∆ (k ) [ t ]} полпоследовательности { x∆ ( jk ) [ t ]} ( k = 1, 2, ...), которая будет сходиться равномерно на каждом конечном отрезке [ t * , ϑ ϑ] к некоторой функции x [ t ]. Эта функция k [ t ] и явится движением x [ t , t * , x * , U ]. Таким образом, мы видим, что при всяком выборе { t * , x * } и U ÷ u (t , x) будет существовать, по крайней мере, одно движение x [ t , t * , x * , U ], продолжимое на всю полуось t * < t < ∞. В то же время, данное абстрактное определение стратегии U и движения x [ t ] допускает разумный переход к реализуемым на практике процедурам управления. Этот переход осуществляется обращением к ломаным Эйлера x ∆ [ t ] (3.3), ибо, как оказывается, эти ломаные хорошо аппроксимируют движения x [ t ]. В самом деле, справедливо следующее утверждение, доказательство которого мы опустим. Лемма 1. Выберем какую-нибудь стратегию U ÷ u (t , x) . Зафиксируем какую-либо ограниченную область G в пространстве { t , x } и число ϑ. Тогда для любого числа ε > 0 найдется число δ > 0, такое, что при всяком выборе позиции { t * , x * } ∈ G , t * ≤ ϑ, для всякой ломаной Эйлера x ∆ [ t ] = x ∆ [ t , t * , x ** , U , v [•]] (3), удовлетворяющей условию τi+1 - τi ≤ δ (i = 0, 1, ...), || x ** — x * || ≤ δ, найдется, по крайней мере, одно движение x [ t ] = x [ t , t * , x * , U ], такое, что x[t ] − x ∆ [t ] ≤ ε при t * ≤ t ≤ ϑ.
(3.5.)
Из этого утверждения, как мы увидим ниже, для многих из рассматриваемых нами игр будет вытекать такой вывод. (А) Пусть некоторая стратегия U обеспечивает первому игроку на идеальных движениях x[t ] некоторый исход игры γ. Если на деле этот игрок выберет эту же стратегию U и будет реализовать ломаные Эйлера с достаточно малым шагом δ = sup(τi+1 - τi), то ему будет гарантирован исход игры γ∆, отличающийся от идеального не более чем на сколь угодно малую, наперед выбранную положительную величину ε. Это несколько расплывчатое общее утверждение (А) будет конкретизировано в дальнейшем в более строгой форме в соответствии с содержанием тех задач, которые будут рассматриваться. Итак, мы определили класс стратегий U ÷ u (t , x) первого игрока-союзника и порождаемые этими стратегиями движения x [ t , t * , x * , U ]. Аналогичным образом с понятной перестановкой букв u и v определяется класс стратегий V ÷ u (t , x) второго игрока-союзника и порождаемые этими стратегиями движения x [ t , t * , x * , U ]. Как мы видели, эти абстрактные определения имеют довольно удобный выход к процедурам управления, осуществимым на практике в виде ломаных x
48
[ t ] = x ∆ [ t , t * , x * , U , v [•]], для первого игрока-союзника или в виде ломаных Эйлера x [ t ] = x ∆ [ t , t * , x * , V , u [•]] для второго игрока-союзника. Не будем обсуждать сейчас те законы управления, которыми может руководствоваться второй игрок-противник при реализации его управляющих воздействий v [ t ] в случае ломаных Эйлера x ∆ [ t , t * , x * , U , v [•]], или первый игрок-противник при реализации его управляющих воздействий u [ t ] в случае ломаных Эйлера x ∆ [ t , t * , x * , V , u [•]]. Это нам просто не надо, так как речь идет о противнике. Мы можем ограничиться предположением, что при построении своих управляющих воздействий противник может остановиться на любом не лишенном смысла способе формирования его управляющих сил, базирующемся на любой мыслимой информации. Все такие способы формирования управления противником должны лишь укладываться в описанную выше схему построения движений x [ t ], которые замыкают, как пределы, множество ломаных Эйлера x ∆ [ t ]. Важно, однако, отметить следующее обстоятельство, которое в пределах избранной формализации стратегий U и V , и движений x [ t ] позволяет объединять задачу первого игрока-союзника и задачу второго игрока-союзника в одну, складывающуюся из этих задач дифференциальную игру (там, где это будет интересно). Пусть выбрана пара стратегий U ÷ u (t , x) и V ÷ u (t , x) , и реализации управления v[ t ] в уравнении (3.3.) строятся по закону v[ t ] = v [τj*] = v (τj*, x∆ [τj*]), где {τj*} – какое-либо разбиение полуоси t * ≤ t < ∞, избранное вторым игроком. Тогда уравнение (3.3.) будет определять также и ломаные Эйлера x∆ *[ t ] = x∆ *[ t , t * , x * , U , v [•]] для второго игрока, для которых первый игрок выбирает реализации своего управления u по закону u [ t ] = u [τi*] = u (τi*, x ∆ [τi*]). Обозначим символом x [ t , t * , x * , U , V ] любую непрерывную функцию x [ t ] ( t * ≤ t < ∞), которая на всяком конечном отрезке [ t * , ϑ] является равномерным пределом для некоторой подходящей последовательности таких ломаных Эйлера x∆ (k ) [ t ] = x ∆* (k ) [ t ] при условиях lim sup i (τ i[+k1] − τ i[ k ] ) = 0 , при k →∞. Справедливо следующее утверждение, которое снова приведем без доказательства. Лемма 2. Каковы бы ни были позиция { t * , x * } и пара стратегий { U , V }, множество движений x [ t , t * , x * , U ] содержит все движения x [ t , t * , x * , U , V ], и множество движений x [ t , t * , x * , V ] также содержит все движения x [ t , t * , x * , U , V ]. Мы уклоняемся пока за ненадобностью от более подробного обсуждения принципов, определяющих реализации управлений противника. В заключение приведем примеры движений x [ t , t 0 , x0 , U ], осуществляемых в двумерной системе
49
x&1 = x1, x&2 = u + v, u ≤ 2, v ≤ 1
(3.6.)
при выборе стратегии U ÷ u (t , x) , которая отождествляется со скалярной функцией u (t , x) = u ( x) = u ( x1 , x 2 ) , задаваемой условиями ⎧2 ⎪ ⎪ u ( x1 , x 2 ) = ⎨ ⎪− 2 ⎪ ⎩
при или при или
xi xi xi xi
≥ 0 x 2 ≤ − 2 x1 < 0 x 2 < − 2 x1 ≥ 0 x 2 > − 2 x1
(3.7.)
< 0 x 2 ≥ − 2 x1
Рис. 3.1. График движения как предельного элемента для ломаных Эйлера при (3.7)
Рис. 3.2. График движения как предельного элемента для ломаных Эйлера при (3.8)
На рис. 3.1. изображено движение x [ t ] = x [ t , 0, {-1,0}, U ], которое получается как предельный элемент для ломаных Эйлера (3.3.) вида x ∆ ( k ) [ t ] = x ∆ ( k ) [ t , 0, {-1, 0}, U , v [•]]
( k → ∞),
где v [•] = { v [ t ] ≡0, 0 ≤ t < ∞}. На рис. 3.2. изображено движение x [ t ] = x [ t , 0, {-1,0}, U ], которое получается как предельный элемент для ломаных Эйлера (3.3) вида x∆(k)[t] = x ∆ ( k ) [ t , 0, {-1, 0}, U , v (k ) [•]] ( k →∞), где реализации v (k ) [ t ] = { v (k ) [ t ], 0 ≤ t < ∞} ( k = 1, 2, ...) в свою очередь формируются позиционным способом по правилу v(k)[τi*] = v(k)[τi*] = v( x∆[τi*]) при
50
τi*(k) ≤ t < τi+1*(k) (τ0*(k) = 0, i = 1, 2, ...)
(3.8.)
причем для разбиений ∆(k) и ∆*(k) выполняются предельные соотношения lim δ ( k ) = 0 , k →∞
lim δ *( k ) = 0 k →∞
(3.9.)
где δ ( k ) = sup i (τ[i k+1] − τ[i k ] ) и δ*(k ) = sup i (τ*[i +1k ] − τ[i k ] ) . Здесь скалярная функция v(x) = v(x1, x2) определена равенством ⎧1 ⎪ ⎪ u ( x1 , x 2 ) = ⎨ ⎪− 1 ⎪ ⎩
при или при или
xi xi xi xi
≥ 0 x 2 ≤ − 2 x1 < 0 x 2 < − 2 x1 ≥ 0 x 2 > − 2 x1
(3.10.)
< 0 x 2 ≥ − 2 x1
Полезно заметить, что, начиная с некоторого момента времени (√3 в первом случае и 2 во втором случае), каждое из рассматриваемых движений x[t, 0, {– 1,0}, U] удовлетворяет тождеству x[t] = 0. Вывод. В этом вопросы мы ввели базовые понятия стратегии и движения необходимые для описания дифференциальных игр.
3.2. Свойства движений В этом параграфе мы обсудим некоторые свойства движений x[t, t0, x0, U] и x[t, t0, x0, V], определенных в предыдущем параграфе. Обсудим свойства движений x[t, t0, x0, U]. Аналогичные свойства движений x[t, t0, x0, V] получаются простой заменой буквы U на букву V. Зафиксируем начальную позицию {t0, x0} и остановимся на какой-то стратегии U. Тогда можно построить пучок всех возможных движений x[t, t0, x0, U] (t0 ≤ t < ∞), которые получаются как пределы при переборе всех возможных сходящихся последовательностей {x∆(k)[t]} ломаных Эйлера x∆(k)[t, t0, х(k), U, v(k)[•]], причем перебор всевозможных реализаций v(k)[•] = {v(k)[t], t0 ≤ t < ∞} отражает всевозможные действия противника. Таким образом, множество всех движений x[t, t0, x0, U] при данных {t0, x0} и U отражает в нашей формализации всевозможные реализации x[t] процесса, отвечающие всем возможным действиям противника, стесненным только условием и v ∈ Q. Справедливо следующее утверждение. Лемма 1. Пусть G – некоторая ограниченная область, a пространстве {t, x} и зафиксировано число ϑ. Тогда множество всех движений x[t, t0, x0, U], отвечающих всем возможным стратегиям U и начальным позициям {t0, x0} ∈ G, t0 ≤ ϑ, образует совокупность равномерно ограниченных и равностепенно непрерывных функций x [t]. 51
Лемма 1 доказывается при условии (3.4.) стандартными в теории обыкновенных дифференциальных уравнений рассуждениями. Поэтому доказательство ее мы здесь опустим. Под расстоянием р(x[ • ], у[ • ])[t0,ϑ], между двумя непрерывными векторфункциями x[t] и y[t], определенными на отрезке [t0, ϑ], будем понимать их расстояние в метрике пространства C[t0,ϑ], т- е- величину р(x[ • ], у[ • ])[t0,ϑ] = max || x[t ] − y[t ] || t 0 ≤t ≤ϑ
(3.11.)
Справедливо следующее утверждение. Лемма 2. На всяком отрезке [t0, ϑ] пучок всех движений x[t, t0, x0, U] при всяком выборе {t0, x0} и U образует замкнутое множество в метрике пространства C[t0,ϑ]. Из лемм 1 и 2 вытекает, что пучок всех движений: x[t, t0, x0, U] (t0 ≤ t < ϑ) образует в пространстве C[t0,ϑ] компактное в себе множество, т.е. из любой последовательности движений из этого пучка можно выбрать подпоследовательность, сходящуюся на отрезке [t0, ϑ] равномерно к движению x[t] из того же пучка. Следуя общепринятой терминологии, будем говорить, что некоторая функция χ = χ(z) параметра z, значения которой суть множества χ(z) = {p}z, состоящие из элементов р метрического пространства P, полунепрерывна сверху по включению в точке z = z* (в метрике P), если для всякой последовательности {z(k)}, сходящейся в метрике пространства {z} к точке z*, и любой сходящейся в метрике P последовательности р(k) ∈ {p}z(k)
(k =1,2, ...)
предельная точка р* = lim p(k) при k → ∞ будет удовлетворять условию p* ∈ {p}z* (Для краткости будем именовать в таких ситуациях полунепрерывными сами множества χ. Если, помимо интересующего нас аргумента (здесь z), множества χ будут зависеть от других параметров, то там, где это потребуется, будем указывать, относительно какого аргумента имеет место полунепрерывность). Обозначим пучок всех движений x[t, t0, x0, U] (t0 ≤ t ≤ ϑ), отвечающих выбранной стратегии U и некоторой начальной позиции {t0, x0}, символом χ(х0), так как будем менять далее только параметр х0. Справедливо следующее утверждение. Лемма 3. При всяком выборе t0, ϑ ≥ t0 и U пучки χ(х0) полунепрерывны сверху по включению в каждой точке x0 = х* (относительно параметра х0 и в метрике C[t0,ϑ]. При этом для любого ε > О можно указать δ > 0, такое, что при условии (3.12.) || x0 – x*|| ≤ δ
52
для всякого движения х[•] ∈ χ(х0) найдется по крайней мере одно движение х*[•] ∈ χ(х*), удовлетворяющее условию р(x[ • ], x*[ • ])[t0,ϑ] < ε
(3.13.)
Итак, лемма 3 утверждает, что при приближении точки х0 к точке х* все движения из пучка χ(х0) равномерно приближаются к совокупности движений, составляющих пучок χ(х*). Наряду с теми конструктивными идеальными движениями x[t, t0, x0, U], которые были определены в (3.1.) предельным переходом от ломаных Эйлера (3.3.), нам часто будет удобно рассматривать во вспомогательных построениях некоторые обобщенные идеальные движения x(t, t0, x0, U), которые мы определим следующим образом. Читатель, которому применение определяемых ниже обобщенных движений x(t) представляется нежелательным, может в дальнейшем в тех вспомогательных построениях, где эти движения будут использоваться, подменять их движениями x[t]. Изменения, которые при этом потребуются на том или ином промежуточном этапе или в окончательных выводах, не носят принципиального характера. В некоторых наиболее существенных пунктах эти изменения будут оговариваться по ходу дела. Следует, однако, сказать, что использование во вспомогательных построениях обобщенных движений x(t) позволяет вести изложение более компактно.) Зафиксируем некоторую позицию {t*, x*} и выберем какую-то стратегию U ÷ u(t,x). Выберем число δ > 0 и построим множество Fv(δ)(t*, x*, U), которое является выпуклой замкнутой оболочкой совокупности всех векторов f вида f = f(t, x, u, v), u = u(t, x), v ∈ Q, ⎛ n ⎞ || {t , x} − {t*, x*} ||= ⎜⎜ ∑ ( xi − xi *) + (t − t*) 2 ⎟⎟ ⎝ i =1 ⎠
(3.14.)
1/ 2
≤δ
(3.15.)
Такие выпуклые замкнутые оболочки F какого-либо множества векторов {f} мы будем обозначать в дальнейшем символом F = co{f}. Итак, Fv(δ)(t*, x*, U)=co [f: f=f (t, x, u, v), u=(t, x), v ∈ Q, || {t, x} – {t*, x*} || ≤ δ] (3.16.) Fv
(δ)
При всяком выборе позиции {t, х}, стратегии U и числа δ > 0 множество (t*, x*, U) оказывается ограниченным. Кроме того, очевидно, справедливо вложение Fv(δ1)(t, x, U) ⊂ Fv(δ2)(t, x, U) 53
при δ1 ≤ δ2. Далее мы можем построить множества Fv(t, x, U) ⊂ Ι
δ>0
Fv(δ)(t, x, U),
(3.17.)
являющиеся, стало быть, пересечениями множеств Fv(δ) (δ > 0). Из построения множеств Fv(δ) вытекает, что множества Fv(t, x, U) ограничены, выпуклы, замкнуты и содержат в себе выпуклую оболочку множества всех векторов f=f(t, x, u(t, x), v), v ∈ Q. Более того, можно проверить, что множества Fv(t, x, U), отвечающие одной и той же стратегии U ÷ u(t,x), оказываются полунепрерывными сверху по включению (см. выше) в каждой позиции {t, х} (относительно позиции {t, x} и в евклидовой метрике пространства {f}. Именно, какой бы ни была стратегия U и какой бы ни была позиция {t*, x*}, для всякого ε > 0 можно указать δ>0 такое, что при выполнении условия (3.15.) множество Fv(t, x, U) будет содержаться в евклидовой ε-окрестности множества Fv(t*, x*, U). Теперь мы можем рассмотреть дифференциальное уравнение в контингенциях x’ = Fv(t, x, U)
(3.18.)
Напомним, что решением x(t) = x(t, t0, x0, U) дифференциального уравнения в контингенциях (3.18.) называется всякая абсолютно непрерывная функция x(t), которая удовлетворяет начальному условию x(t0) = x0 и производная которой при почти всех значениях t > t0 удовлетворяет вложению x’(t) = Fv(t, x(t), U)
(3.19.)
Так как наши множества Fv(t, x, U) при всяком выборе стратегии U во всякой возможной позиции {t, x} ограничены, выпуклы и замкнуты, при изменении позиции меняются полунепрерывно сверху по включению и, кроме того, согласно (3.4.) удовлетворяют условию || f || ≤ x (1 + || х || )
при f ∈ Fv(t, x, U),
(3.20.)
то, согласно известным результатам из теории дифференциальных уравнений, уравнение (3.18.) при всяком выборе стратегии U и начальной позиции {t0, x0} имеет решения x(t, t0, x0, U) (t ≥ t0), продолжимые для всех значений t ≥ t0. Эти решения x(t, t0, x0, U) мы и будем называть идеальными обобщенными движениями x(t) системы (3.1.). Аналогичным образом с переменой ролями букв u и v определяются идеальные обобщенные движения x(t) = x(t, t0, x0, V), которые являются решениями дифференциального уравнения в контингенциях
54
x’(t) = Fu(t, x(t), V)
(3.21.)
аналогичного уравнению (3.18.). Обсудим связь между идеальными конструктивными движениями x[t, t0, x0, U], которые получаются предельным переходом от ломаных Эйлера (3.3.), и идеальными обобщенными движениями x(t) = x(t, t0, x0, U), которые определены как решения дифференциального уравнения в контингенциях (3.18.). Оказывается, что при всяком выборе стратегии U и начальной позиции {t0, x0} всякое конструктивное движение x[t, t0, x0, U] (t > t0) является одновременно обобщенным движением x(t, t0, x0, U) (t > t0). Иначе говоря, пучок всех конструктивных движений χK(t0, x0, ϑ, U) = [x[•]: х [t] = x[t, t0, x0, U], t0 ≤ t ≤ ϑ] обязательно содержится в соответствующем пучке всех обобщенных движений χ0(t0, x0, ϑ, U) = [x(•): х (t) = x(t, t0, x0, U), t0 ≤ t ≤ ϑ]. Таким образом, имеем χK(t0, x0, ϑ, U) ⊂ χ0(t0, x0, ϑ, U)
(3.22.)
Мы не будем доказывать здесь это утверждение, так как для его проверки стандартными в теории дифференциальных уравнений рассуждениями доказывается что всякая сходящаяся равномерно последовательность ломаных Эйлера сходится к решению x(t) уравнения (3.18.). Аналогичным образом справедливо включение χK(t0, x0, ϑ, V) ⊂ χ0(t0, x0, ϑ, V).
(3.23.)
Обратим внимание на одну особенность в обозначениях рассматриваемых нами функций от времени в данном и предыдущем параграфах и в дальнейшем тексте книги. Дело в том, что нам нужно различать два сорта функций от времени. Во-первых, это функции от времени, которые описывают значения соответствующих переменных, реализующиеся в процессе той или иной позиционной игры (в идеальной модели или в аппроксимирующей ее схеме). В обозначениях таких функций аргумент t или какую-либо другую букву, заменяющую t, мы будем заключать в квадратные скобки. Например, конструктивное движение или ломаную Эйлера мы обозначаем соответственно символами x[t] = x[t, t0, x0, U] или x∆[t, t0, х0, U, v[•]]. Во-вторых, нам потребуются функции времени, которые будут использоваться во вспомогательных построениях, причем аргумент t или какую-либо другую заменяющую t букву нам часто будет удобно рассматривать в этих вспомогательных построениях как некоторое воображаемое время. В таких случаях аргумент, обозначающий время, будем заключать в круглые скобки. Например, обобщенное движение мы обозначаем символом x(t) = x(t, t0, x0, U). В связи с включениями (3.22.) и (3.23.) возникает вопрос о том, являются ли верными также и обратные включения? Иначе говоря, возникает вопрос о том, является ли всякое обобщенное движение x(t) также и некоторым 55
конструктивным движением x[t]. Вообще говоря, ответ на этот вопрос получается отрицательным. Именно, можно привести пример системы (3.1.), (3.2), удовлетворяющей условию (3.4.) и такой, что для нее найдется стратегия U, начальная позиция {t0, x0} и обобщенное движение x(t, t0, x0, U), которое не является конструктивным движением x[t, t0, x0, U]. Простой пример подобной ситуации доставляет скалярное уравнение x’ = u, |u| ≤ 1
(3.24.)
при выборе стратегии U ÷ u(t,x) = u (х), которая задается функцией ⎧ 1 при u ( x) = ⎨ ⎩− 1 при
x≥0 x<0
.
(3.25.)
Нетрудно проверить, что при выборе начальной позиции {0, 0} система (3.24.) имеет только два конструктивных движения x[t] = t и x[t] = – t. В то же время, дифференциальное уравнение в контингенциях (3.18.) имеет здесь вид х’ = 1 x’ = – 1 |х’|≤1
при х > 0, при х<0,
(3.26.)
при х = 0,
откуда вытекает, что наряду с обобщенными движениями x[t] = t и x[t] = – t, система (3.24.) имеет также еще, по крайней мере, одно обобщенное движение x[t] = 0. Отмеченное сейчас обстоятельство сыграет в дальнейшем свою роль при обосновании выбора в качестве основы для построения нашей математической модели дифференциальной Игры именно совокупностей конструктивных движений, а не совокупностей обобщенных движений. В самом деле, окажется, что в рассматриваемых нами классах дифференциальных игр удается подбирать (хотя бы в принципе) оптимальные в том или ином смысле стратегии U° и V°, которые обеспечат нужный исход игры для всех порождаемых ими конструктивных движений x[t, t0, x0, U°] или x[t, t0, x0, V°], однако во многих случаях дифференциальных игр не удается подобрать стратегии U и V (и даже в принципе нельзя это сделать), которые справлялись бы аналогичным образом со всем множеством порождаемых ими обобщенных движений x(t, t0, x0, U) или x(t, t0, x0, V) соответственно. Впрочем, как мы увидим ниже, за эту привлекательную особенность конструктивных движений приходится платить: решения, получаемые на основе класса конструктивных движений, могут оказаться неустойчивыми. Однако, благодаря возможности регуляризации этих
56
решений, указанная неустойчивость может быть исправлена и нужные решения стабилизированы. Вывод. В этом вопросе были описаны некоторые простейшие методы исследования дифференциальных игр.
3.3. Постановка задачи После того как было дано определение стратегий и движений, мы можем перейти к формализованной постановке игровых задач. В соответствии с материалом из указанного параграфа будем предполагать, что в пространстве позиций {t, х} заданы множества М и N и задан функционал γ = ϕ (x [t], t0 ≤ t ≤ τ),
(3.27.)
который должен минимизироваться первым игроком и максимизироваться вторым. Ограничимся сначала функционалом ϕ (3.27.) несколько более частного вида. К более общему случаю обратимся позднее. Начальную позицию {t0, x0} будем полагать выбранной произвольно в пределах ее допустимых значений, но будем полагать ее затем зафиксированной. К обсуждению этого обстоятельства, на которое следует сейчас только обратить внимание, мы вернемся в конце данного параграфа. Множество М удобно предполагать замкнутым, а функционал ϕ – имеющим смысл на непрерывных функциях x[t]. Будем сначала считать союзником первого игрока и сформулируем задачу для него. Задача 3.1. Требуется найти стратегию U0 ÷ u0 (t,x), которая, во-первых, обеспечивает встречу {τ, x[τ]} ∈ M, {t, x[t] ∉M при t0 ≤ t ≤ τ, {t, x[t] ∈ N при t0 ≤ t ≤ τ для всякого движения х [t] = x[t, t0, x0, U0] и, во-вторых, среди всех стратегий U0 ÷ u0 (t,x), удовлетворяющих этому условию, отличается тем, что удовлетворяет условию минимакса: supx[.] ϕ (x[t, t0, x0, U0], t0 ≤ t ≤ τ)=minU supx[.] ϕ (x(t, t0, x0, U), t0 ≤ t ≤ τ)=γ°
(3.28.)
Обратим внимание на то, что момент t, фигурирующий в условиях задачи, не является, вообще говоря, заданным априори, но получает для всякого движения x[t] свое значение. Стратегию U° ÷ u° (t,x), разрешающую задачу 3.1., будем называть оптимальной минимаксной стратегией. Будем считать союзником второго игрока и сформулируем задачу для него. Задача 3.2. Требуется найти стратегию V0 ÷ v0 (t,x), которая исключает встречу {τ, x[τ]} ∈ M, {t, x[t] ∉M при t0 ≤ t ≤ τ для всякого движения x[t] = x[t, t0, x0, V°]. Если такой стратегии не существует, то требуется найти хотя бы стратегию, которая удовлетворяет условию максимина 57
infx[.] ϕ (x[t, t0, x0, V0], t0 ≤ t ≤ τ)=maxU infx[.] ϕ (x(t, t0, x0, V), t0 ≤ t ≤ τ)=γ0
(3.29.)
В левой и правой частях (3.29.) нижняя грань inf x[.] вычисляется по всем тем движениям x[t], для которых время до момента окончания игры является конечным. Стратегию, разрешающую задачу 3.2., будем называть оптимальной максиминной стратегией. Совокупность двух задач 3.1. и 3.2. будем именовать игрой. Полезно обратить внимание на следующее обстоятельство. Игра в нашей формализации складывается из двух задач. При этом выбор образа действий игрокапротивника в той или иной задаче, в соответствии с постановкой этой задачи и благодаря лемме 2 из вопроса 1, оказывается никак не менее узким (а, вообще говоря – даже более широким), чем выбор действий того же самого (по номеру) игрока, когда в противоположной задаче из той же игры он оказывается уже в роли игрока-союзника. В случае если величины γ° и γ0, фигурирующие в условиях (3.28.) и (3.29.), совпадают, будем говорить, что игра имеет седловую точку {U°,V°}. Значение γ° = γ0 будем тогда именовать ценой игры. Обратимся теперь к более общему, чем (3.1.), случаю функционала ϕ, т.е. к случаю ϕ (x [t], u[t], v[t], t0 ≤ t ≤ τ), когда величина γ = ϕ зависит явно и от реализаций управляющих воздействий u[t] и v[t]. Здесь нам придется преодолеть одно неудобство, связанное с тем обстоятельством, что движения x[t] были определены ранее только как пределы для ломаных Эйлера и эти пределы не обязаны удовлетворять дифференциальному уравнению (3.1.) при каких бы то ни было допустимых функциях u[t] и v[t]. Однако от этого неудобства можно избавиться следующим образом. Сопоставим стратегии U (или V) предельное множество {γ}U или {γ}V, которое складывается из всех тех значений γ, которые могут служить пределами для всевозможных последовательностей γ(k) = ϕ (x∆(k)[t], u(k)[t], v(k)[t], t0 ≤ t ≤ τ) (k = 1, 2, ...),
(3.30.)
где x∆(k)[t] – ломаные Эйлера, определяющие движения x[t, t0, x0, U] (или x[t, t0, x0, V]). При этом значение τ в (3.30.) определяется как момент встречи как раз для того движения x[t], которое служит пределом для данной последовательности x∆(k)[t]. Тогда условия (3.28.) и (3.29.) в задачах 3.1. и 3.2. можно заменить соответственно условиями: sup γ = min sup γ
(3.31.)
inf γ = min inf γ
(3.32)
γ∈{γ} 0 U
γ∈{γ} 0 V
U
U
γ∈{γ}U
γ∈{γ}V
Во всем остальном формулировки задач 3.1. и 3.2. остаются без изменения. 58
Следует отметить, что приведенные сейчас обобщения (3.31.) и (3.32.) условий (3.28.) и (3.29.), равно как и сами эти условия, оказываются полезными только при определенных свойствах рассматриваемых функционалов ϕ, которые позволяют сделать подходящие аппроксимационные заключения при переходе от идеальных предельных движений или значений γ к аппроксимирующим их ломаным Эйлера и величинам γ(k) (3.30.), которые уже можно реализовать на деле. В связи со сделанными выше замечаниями о переходе от функционалов (3.27.) к функционалам ϕ более общего вида остановимся еще на одном вопросе, который мы оставили в тени при определении стратегий U и V. Там предполагалось, что допустимые управления u и v стеснены только условиями (3.2.), которые налагают ограничения u ∈ Р и v ∈Q лишь на значения u = u[t], v= v[t] в каждый текущий момент t. В соответствии с этим стратегии U и V отождествлялись там с функциями u(t,x) и v(t,x), удовлетворяющими условиям u(t,x)∈P и v(t,x)∈Q при всех значениях аргументов t и x, без каких-либо дополнительных оговорок. Но возможны случаи, когда допустимые реализации управлений u[t] и v[t] стесняются еще дополнительными ограничениями более общего функционального характера: Пример такого ограничения доставляют условия τ
∫ || u[t ] ||
2
dt ≤ µ 2 ,
t0
(3.33.) τ
∫ || v[t ] ||
2
dt ≤ ν 2 ,
t0
В таких случаях понятие допустимых стратегий U и V, если их попрежнему отождествлять с функциями u(t,x) и v(t,x) только от t и х, требует уточнения. Выполним его, полагая для определенности союзником первого игрока и определяя, стало быть, допустимые стратегии U ÷ u(t,x). Определим предельное множество {ε}U, складывающееся из всех тех значений ε, которые могут служить пределами для всевозможных последовательностей ε(k) = ε (u(k)[t], t0 ≤ t ≤ τ ) (k=1,2,...),
(3.34.)
где u(k)[t] = u(τi(k), x∆(k)[t]) при τi(k) ≤ t < τi+1(k) и x∆(k)[t] – ломаные Эйлера, определяющие движения x[t, t0, x0, U]. При этом допускаются только такие реализации управления u(k)[t], которые удовлетворяют условию limk→∞ sup η (v(k)[t], t0 ≤ t ≤ τ) ≤ ν,
(3.35.)
59
вытекающему из второго ограничения (3.33.). При этом значение τ в (3.34.), (3.35.) определяется из условия встречи для того движения x[t], которое служит пределом для соответствующей последовательности x∆(k)[t]. Теперь стратегию U ÷ u(t,x) будем называть допустимой (при дополнительных ограничениях (3.33.)), если будет выполнено условие ε≤µ
(3.36.)
при всех ε ∈ {ε}U. Аналогичным образом с понятной переменой местами между буквами u и v определяются допустимые стратегии V ÷ u(t,x) для второго игрока. Следует заметить, что эффективная проверка допустимости той или иной стратегии U или V при дополнительных условиях (3.33.) может оказаться затруднительной. Кроме того, надлежит иметь в виду, что полезность введенного сейчас определения допустимой стратегии U ÷ u(t,x) (или – V ÷ u(t,x)) также обосновывается только при определенных свойствах функционалов ϕ ε и η, допускающих содержательную аппроксимационную трактовку тех идеальных соотношений, которые вытекают из данных выше предельных условий. В заключение этого параграфа остановимся еще на одном вопросе, о котором было упомянуто выше. При постановке задач 3.1. и 3.2. мы предполагали начальную позицию {t0, x0} зафиксированной. Это означает, что оптимальная минимаксная стратегия U° из задачи 3.1. (или оптимальная максиминная стратегия V° из задачи 3.2.) является наилучшей для союзника (в смысле условий соответствующей задачи) именно для этой начальной позиции. Однако, если в ходе управления в течение какого-то времени to t0 ≤ t < t* < τ противник будет действовать не наилучшим для него образом, то в момент t* может сложиться такая позиция {t*, x*}, для которой, уже снова как для начальной, может найтись стратегия U* ÷ u*(t,x) (t > t*) для задачи 3.1. (или стратегия V* для задачи 3.2.), которая при t > t* будет лучше, чем U° (или V°) для союзника (в смысле условий соответствующей задачи). Это снижает ценность принятой постановки задач 3.1. и 3.2. по сравнению с другой возможной постановкой подобных игровых задач, где можно было бы потребовать, чтобы искомые стратегии U° и V° оставались наилучшими и для всякой промежуточной позиции {t*, x*}, принимаемой с момента t* снова за начальную. Однако практически отмеченное снижение теоретической ценности постановки задачи, пожалуй, не играет особенно существенной роли, так как если бы мы умели на практике хорошо и быстро решать хотя бы задачи 3.1. и 3.2. в нашей постановке, то мы всегда сумели бы (если этого захочется) использовать и упомянутые выше промахи противника. В самом деле, мы могли бы тогда в удобные для нас моменты времени tj, (j = 0, 1, 2, ...) корректировать наши стратегии U(j) или V(j) (tj ≤ t < tj+1) так, чтобы, начиная с момента tj стратегия U(j) или V(j) становилась на будущее t ≥ tj оптимальной (для союзника в смысле условий соответствующей задачи 3.1. или 3.2.) для 60
сложившейся в этот момент tj позиции [tj, x[tj]}, рассматриваемой с этого момента tj как начальная. В то же время, принятая нами постановка задач 3.1. и 3.2. с фиксированной начальной позицией {t0, x0} (в разъясненном сейчас смысле) освобождает от необходимости преодолевать некоторые дополнительные теоретические трудности. К тому же эта постановка задачи, очевидно, не запрещает искать и такие решения U° и V° задач 3.1. и 3.2., которые являются наилучшими стратегиями и в обсуждавшемся сейчас усиленном смысле. Вывод. В этом вопросы мы, наконец, формализовали задачу и дали некоторые простейшие методы поиска решения. Дифференциальные игры это сложный аппарат для описания конфликтных ситуаций, где очень сложно выделить понятие хода без того, чтобы сделать число этих ходов слишком большим. Контрольные вопросы: 1. Дайте определение дифференциальной игры. 2. Дайте определение стратегии. 3. Дайте определение движения в терминах дифференциальной игры.
61
Глава 4 МНОГОКРИТЕРИАЛЬНЫЕ ЗАДАЧИ Очень часто в реальной жизни результат какой-либо деятельности нельзя оценить одним числом. Самый простой пример – проектирование машины. Можно сделать очень быструю машину, но она будет либо очень дорогая, либо очень маленькая, либо очень ненадежная. Только что мы ввели четыре характеристики машины – скорость, размер, цена, надежность. Все эти характеристики связаны между собой и изменение одних ведет к изменению других. Как же тогда оценить какая машина нам лучше подойдет? Этой проблеме повещена теория многокритериальных задач.
4.1. Многокритериальные задачи: понятия и определения Понятие критерия имеет отношение к теории оптимизации. Термином «оптимизация» в литературе обозначают процесс или последовательность операций, позволяющих получить уточненное решение. Хотя конечной целью оптимизации является отыскание наилучшего или «оптимального» решения, обычно приходится довольствоваться улучшением известных решений, а не доведением их до совершенства. Поэтому под оптимизацией понимают скорее стремление к совершенству, которое, возможно, и не будет достигнуто. Задача принятия решения состоит в выборе среди множества возможных решений (их называют также вариантами, планами и т.п.) такого решения, которое являлось бы в определенном смысле лучшим или, как говорят, оптимальным. Для такого выбора и необходим критерий, позволяющий сравнивать различные решения и определять, какое из них является лучшим. Удобно считать, что выбор решения производит некоторое лицо, принимающее решение (ЛПР), которое преследует вполне определенные цели. В зависимости от конкретной ситуации в роли лица, принимающего решение, может выступать как отдельный человек (инженер, научный сотрудник и т.п.), так и целый коллектив (группа специалистов, занятая решением одной задачи). Каждое возможное решение характеризуется определенной степенью достижения цели. В соответствии с этим у лица, принимающего решение, имеется свое представление о достоинствах и недостатках решений, на основании, которого одно решение, предпочитается другому. Оптимальное решение - это решение, которое с точки зрения лица, принимающего решение, предпочтительнее других возможных решений. Таким образом, понятие оптимального решения связано с предпочтениями лица, принимающего решение. Эти предпочтения на практике выражаются в 62
различной форме, и их математическая формализация может составить сложную задачу, поскольку лицо, принимающее решение, как правило, не может ясно и четко сформулировать их. Цель теории принятия решений и состоит в разработке методов, которые помогли бы лицу, принимающему решение, наиболее полно и точно выразить свои предпочтения в рамках соответствующей математической модели и, в конечном счете, обоснованно выбрать действительно оптимальное решение. Введем ряд определений. Проектные параметры (искомые переменные). Этим термином обозначают независимые переменные параметры, которые полностью и однозначно определяют решаемую задачу проектирования. Проектные параметры – неизвестные величины, значения которых вычисляются в процессе оптимизации. В качестве проектных параметров могут служить любые основные или производные величины, служащие для количественного описания системы. Так, это могут быть неизвестные значения длины, массы, времени, температуры. Число проектных параметров характеризует степень сложности данной задачи проектирования. Обычно число проектных параметров обозначают через п, а сами проектные параметры через х с соответствующими индексами. Таким образом п проектных параметров данной задачи будем обозначать через
x1 , x2 , x3 ,..., xn . Целевая функция (критерий качества). Это выражение, значение которого ЛПР (лицо, принимающее решение) стремится сделать максимальным или минимальным. Целевая функция и есть критерий, позволяющий количественно сравнить два альтернативных решения. С математической точки зрения целевая функция описывает некоторую (n+1) – мерную поверхность. Ее значение определяется проектными параметрами
L = L( x1 , x2 ,..., xn ) . Примерами целевой функции, часто встречающимися в инженерной практике, являются стоимость, вес, прочность, габариты, КПД. Если имеется только один проектный параметр, то целевую функцию можно представить кривой на плоскости. Если проектных параметров два, то целевая функция будет изображаться поверхностью в пространстве трех измерений. При трех и более проектных параметрах поверхности, задаваемые целевой функцией, называются гиперповерхностями и не поддаются изображению обычными средствами. Топологические свойства поверхности целевой функции играют большую роль в процессе оптимизации, так как от них зависит выбор наиболее эффективного алгоритма.
63
Целевая функция в ряде случаев может принимать самые неожиданные формы. Например, ее не всегда удается выразить в замкнутой математической форме, в других случаях она может представлять собой кусочно-гладкую функцию. Для задания целевой функции иногда может потребоваться таблица технических данных (например, таблица состояния водяного пара) или может понадобиться провести эксперимент. В ряде случаев проектные параметры принимают только целые значения. Примером может служить число зубьев в зубчатой передаче или число болтов во фланце. Иногда проектные параметры имеют только два значения – да или нет. Качественные параметры, такие как удовлетворение, которое испытывает приобретший изделие покупатель, надежность, эстетичность, тоже возможно учитывать в процессе оптимизации, хотя их сложно охарактеризовать количественно. Однако в каком бы виде не была представлена целевая функция, она должна быть однозначной функцией проектных параметров. В ряде задач оптимизации требуется введение более одной целевой функции. Иногда одна из них может оказаться несовместимой с другой. Примером служит проектирование самолетов, когда одновременно требуется обеспечить максимальную прочность, минимальный вес и минимальную стоимость. В таких случаях конструктор должен ввести систему приоритетов и поставить в соответствие каждой целевой функции некоторый безразмерный множитель. В результате появляется «функция компромисса», позволяющая в процессе оптимизации пользоваться одной составной целевой функцией. Поиск минимума и максимума. Одни алгоритмы оптимизации приспособлены для поиска максимума, другие – для поиска минимума. Однако независимо от типа решаемой задачи на экстремум можно пользоваться одним и тем же алгоритмом, так как задачу минимизации можно легко превратить в задачу на поиск максимума, поменяв знак целевой функции на обратный. Множество допустимых решений (МДР) – пространство решения. Так называется область, определяемая всеми п проектными параметрами. Пространство решения не столь велико, как может показаться, поскольку оно обычно ограничено рядом условий, связанных с физической сущностью задачи. Ограничения могут быть столь сильными, что задача не будет иметь ни одного удовлетворительного решения. Следует отметить, что очень часто в связи с ограничениями оптимальное значение целевой функции достигается на одной из границ области множества допустимых решений задачи. Локальный оптимум. Так называется точка пространства решений, в которой целевая функция имеет наибольшее значение по сравнению с ее значениями во всех других точках ее ближайшей окрестности. Часто пространство проектирования содержит много локальных оптимумов и следует соблюдать осторожность, чтобы не принять первый из них за оптимальное решение задачи. Глобальный оптимум. Глобальный оптимум - это оптимальное решение для всего множества допустимых решений. Оно лучше всех других решений, 64
соответствующих локальным оптимумам, и именно его ищет ЛПР. Возможен случай нескольких равных глобальных оптимумов, расположенных в разных частях пространства проектирования. Многокритериальность. Существуют задачи, в которых есть только один критерий оптимальности, одна цель, однако зачастую свести задачу к одному критерию достаточно трудно, так как целей может быть много. В этом случае ρ оптимизацию производят по нескольким частным критериям Qi ( x ) (i =1,2,..., s ) , а полученные задачи называют задачами многокритериальной или векторной оптимизации. Многокритериальная оптимизация представляет собой попытку получить наилучшее значение для некоторого множества характеристик рассматриваемого объекта, то есть найти некоторый компромисс между теми ρ частными критериями Qi ( x ) (i =1,2,..., s ) , по которым требуется оптимизировать решение. Постановку задачи можно представить следующим образом: ρ ⎧Q1 ( x ) → min (max) , ρ ⎪ ⎪Q 2 ( x ) → min (max) , ⎪................................ , ⎪ ρ ⎪Q s ( x ) → min (max) , ⎪ ⎨ g 1 ( x1 , x 2 ,..., x n ) ≤ b1 , ⎪ g ( x , x ,..., x ) ≤ b , 2 n ⎪ 2 1 2 ⎪................................ , ⎪ ⎪ g m ( x1 , x 2 ,..., x n ) ≤ bm , ⎪⎩d j ≤ x j ≤ D j , j = 1,2,..., n . Наиболее общей математической моделью принятия оптимального решения является задача многокритериальной оптимизации. Приведем несколько причин, приводящих к многокритериальным задачам. 1. Одной из причин, приводящей к многокритериальности, является множественность технических требований, которые предъявляются к характеристикам проектируемого устройства. Их можно свести к системе неравенств. ρ qi ( x ) ≤ qi+ ,i = 1,2,..., s ,
(4.1.)
где qi+ − предельное значение i − го технического требования. В этом случае частные критерии оптимальности обычно в явном виде отсутствуют, и их приходится вводить искусственно с помощью выражений:
65
ρ + ρ ⎪⎧0, если q i ( x ) ≤ q i ; Qi ( x )= ⎨ ρ ρ ⎪⎩ wi (q i ( x ) − q i+ ; ), если q i ( x ) > q i+ . Здесь wi − весовой коэффициент, учитывающий важность i-го ограничения s
( ∑ wi =1). i =1
Таким образом, решение системы неравенств (4.1.) сводится к решению задачи векторной оптимизации: ρ ρ ρ Q1 ( x ), minQ 2 ( x ),..., minQ s ( x ) . min ρ ρ ρ x∈ D x
x∈ D x
(4.2.)
x ∈D x
2. Следующей причиной многокритериальности является необходимость обеспечения оптимальности проектируемого устройства при различных условиях его функционирования, то есть обеспечение экстремальных значений критерия оптимальности при неопределенности условий, в которых приходится работать устройству. При этом неопределенность может иметь либо количественный характер, выраженный с помощью параметра v, что приводит к задаче оптимизации.
[
]
ρ min Q( x ,v) для всех v ∈ v − , v + , ρ x∈Dx
(4.3.)
либо качественный характер, связанный с указанием конкретных условий функционирования. В последнем случае эффективность и качество работы устройства для каждого режима могут быть охарактеризованы различными критериями оптимальности. Например, в зависимости от исходного состояния ρ для логического элемента представляет опасность либо помеха Q1( x ), ρ вызывающая запирание схемы, либо помеха Q2 ( x ), приводящая к отпиранию схемы. Тогда, если под помехоустойчивостью логической схемы понимать минимальный порог срабатывания максимально чувствительной схемы, задача оптимального проектирования логического элемента может быть сформулирована как задача векторной оптимизации: ρ ρ max Q1 ( x ) , max Q2 ( x ) , ρ ρ x ∈Dx
x∈Dx
где Dx − допустимая область работоспособности логического элемента. Если неопределенность функционирования имеет количественный характер, то задача оптимизации (4.3.) сводится к задаче векторной ρ оптимизации (4.2.) путем дискретизации критерия оптимальности Q( x ,v) по параметру v и рассмотрению в качестве частных критериев оптимальности функций. 66
ρ ρ Qi ( x ) = Q ( x , vi ), где vi ∈[v _ , v + ] . Такой подход к задаче оптимального проектирования позволяет учитывать влияние внешних факторов (температуры, ускорения, радиации и т.д.) на критерий оптимальности и ограничения проектируемого устройства. 3. При постановке задачи оптимального проектирования одним из ρ основных вопросов является выбор критерия оптимальности Q ( x ). С одной стороны, критерий должен иметь конкретный физический смысл, а с другой – от него требуется, чтобы он как можно полнее характеризовал проектируемое устройство. Однако требования функциональной полноты трудно удовлетворить с помощью только одного скалярного показателя, так как он обычно описывает конкретное свойство устройства. В связи с этим приходится рассматривать совокупность показателей ( Q1 ,..., Qs ), каждый из которых имеет наглядную физическую интерпретацию и позволяет оценить ρ качество оптимального решения x * с различных точек зрения. Таким образом, необходимость обеспечения функциональной полноты показателей, конкретизирующих оптимальные свойства проектируемого устройства, при одновременной их физической наглядности приводит к многокритериальности, которая вытекает прямо из постановки задачи оптимального проектирования. Например, при проектировании транзисторного логического элемента бортовой ЭВМ автотракторного средства необходимо рассматривать одновременно несколько частных критериев оптимальности, отражающих различные свойства схемы, что приводит к следующей задаче векторной оптимизации: ρ ρ ρ ρ ρ max Q1 ( x ), max Q2 ( x ), min Q3 ( x ), max Q4 ( x ), min Q5 ( x ). , ρ ρ ρ ρ ρ x ∈ Dx
x ∈ Dx
x ∈ Dx
x ∈ Dx
x ∈ Dx
ρ где D x – допустимая область работоспособности схемы, Q1 ( x ) – нагрузочная ρ ρ способность; Q2 ( x ) , Q3 ( x ) – статическая помехоустойчивость в закрытом состоянии к отпирающей по напряжению помехе и к запирающей по току, ρ действующей в открытой схеме, соответственно, Q4 ( x ) – рассеиваемая ρ мощность, Q5 ( x ) – среднее время задержки сигнала. Оптимальный вариант логической схемы должен иметь экстремальные значения по каждому из частных критериев ( Q1 ,..., Qs ). 4. В тех случаях, когда проектируемое устройство состоит из нескольких взаимосвязанных узлов и блоков, оптимальность всего устройства определяется эффективностью и качеством его отдельных частей, каждая из которых может быть охарактеризована, по крайней ρ мере, хотя бы одним частным критерием оптимальности Qi (x ) . В этом случае функционирование всего устройства можно считать ρ наилучшим, если за счет выбора управляемых параметров x обеспечиваются
67
экстремальные значения всех частных критериев оптимальности как основных подцелей одной общей цели проектирования. 5. Другой ситуацией, приводящей к многокритериальности, является случай, когда функционально-логическая модель проектируемого устройства отсутствует и требуется ее построить таким образом, чтобы внешние параметры устройства наилучшим образом соответствовали экспериментальным данным. ρ В связи с этим параметры модели x , построенной с помощью эквивалентных схем замещения компонент, могут не иметь непосредственного отношения к внутренним процессам в устройстве, а должны подбираться так, чтобы наилучшим образом (в некотором смысле) аппроксимировать экспериментально полученные внешние параметры проектируемого устройства. Вывод. Мы ввели понятие критерия, понятия однокритериальной и многокритериальной задач для дальнейшей работы с ними.
4.2. Весовые критерии Весовые коэффициенты применяются при сведении многокритериальной задачи к задаче с одним критерием. Каждому критерию из исходной задачи ставится в соответствие один весовой коэффициент, который отражает важность данного критерия. Наиболее распространенным методом решения многокритериальных задач является метод свертывания векторного критерия. Он учитывает относительную важность частных критериев оптимальности с помощью построения скалярной функции F, являющейся обобщенным критерием ρρ относительно векторного критерия Q(x ) , и решения однокритериальной задачи оптимизации
ρρ min F ( w,Q( x )) , x∈DX
ρ где w ={w1 ,..., ws } – весовые коэффициенты относительной важности частных критериев. В качестве обобщенных критериев могут быть использованы функции F следующего вида: а) аддитивный критерий оптимальности s ρρρ ρ F ( w,Q( x )) =∑ wi Qi ( x ) ; i =1
б) мультипликативный критерий оптимальности 68
s ρρρ ρ F ( w,Q( x )) =∏ wi Qi ( x ) ; i =1
в) среднестепенной обобщенный критерий оптимальности
ρ ρ ρ ⎡1 s ρ⎤ F ( w,Q( x )) = ⎢ ∑ wi Qip ( x )⎥ ⎣ S i =1 ⎦
1
p
.
В дальнейшем в качестве обобщенного критерия будем использовать обобщенный критерий оптимальности при дополнительном условии
s
∑ w =1, i =1
i
где wi − весовые коэффициенты. Величина wi определяет важность i − го критерия оптимальности и задает в количественном измерении предпочтение i − го критерия над другими критериями оптимальности. Решение задачи нахождения минимального значения каждого частного критерия оптимальности ρ ρ ρ ρmin Q1 ( x ), ρmin Q2 ( x ),..., ρmin Qs ( x ), x∈D x∈D x∈D X
X
X
может быть сведено к минимизации аддитивной функции s ρ ρρ ρ min F ( w,Q( x )) = min ∑ wi Q i ( x ) , ρ ρ x∈ D X
где x i ≥0,
x∈ D X
i =1
s
∑ w =1 . i =1
i
ρ Этот метод свертывания векторного критерия Q=(Q1 ,...,Qs ) , называемый методом взвешенных сумм, позволяет создавать приоритет более важным частным критериям оптимальности за счет увеличения для них значений wi . При этом относительно частных критериев принимается допущение, что они ρ количественно соизмеримы между собой (в частности, Qi (x ) нормализованы и ~ ρ приведены к безразмерному виду Qi ( x ) ). ρρρ Таким образом, выбрав обобщенный критерий оптимальности F ( w,Q( x )) в виде аддитивной функции, мы от субъективизма при выборе предпочтения ρ ρ между векторными критериями Q k и Q l переходим к субъективизму, связанному с назначением численных значений коэффициентов wi (i=1,2,..., s ) . В связи с этим возникает вопрос: «Как выбирать численные значения весовых коэффициентов wi ?». Получить ответ на этот вопрос в какой-то степени можно, 69
если имеется дополнительная информация о важности частных критериев оптимальности. Для равноценных критериев, то есть критериев, для которых невозможно установить приоритет по важности, значения весовых коэффициентов wi выбираются одинаковыми 1 , i =1,2,..., s . S
wi =
Для неравноценных критериев, то есть критериев, для которых ЛПР может установить приоритет по важности, значения весовых коэффициентов выбираются в соответствии с важностью критерия. s
wi > 0, ∑ wi =1, i =1,2,..., s . i =1
Рассмотрим некоторые способы и числовые приемы, позволяющие по информации о качестве значений частных критериев оптимальности определять значения весовых коэффициентов wi . ρ Способ 1. Для каждого частного критерия оптимальности Qi ( x ) > 0 , i = 1,2,..., s вычисляется коэффициент относительного разброса δi = где
Qi+ − Qi− Qi+
ρ ρ Qi− = min Qi ( x ), Qi+ = max Qi ( x ) , ρ ρ x∈Dx
x∈Dx
= 1−
Qi− Qi+
,
который
определяет
максимально
возможное отклонение по i -му частному критерию. Весовые коэффициенты wi получают наибольшее значение для тех критериев, относительный разброс которых в области DQ наиболее значителен wi =
Способ 2. коэффициенты
Пусть
все
δi s
δk ∑ k =1
(i = 1,..., s ) .
Qi− ≠ 0, i =1,2,..., s ,
ρ − ρ Qi ( x ) − Q i β i ( x) = , Qi− 70
тогда
рассматриваются
которые характеризуют отклонение частного критерия оптимальности от его наименьшего значения. Предположим, что важность i -го критерия оптимальности зависит от выполнения неравенства ρ βi (x) ≤ ξ i . (4.4.) Здесь величины ξ i задаются ЛПР из условия, что чем важнее критерий, тем меньше выбирается значение ξ i . Пусть Ri* – наибольший радиус шара, построенного около точки минимума ρ ρ ρ xi* – i -го критерия оптимальности, внутри которого точки x ∈ d ( xi* Ri* ) (шар ρ радиуса Ri* с центром в xi* ) удовлетворяют условию (4.4.). ρ n ( ) − Qi− Q x ρ ⎧ ⎫ i * * 2 Тогда Ri = max ≤ ξi . ⎨ ∑ ( x k − x k ) ⎬ , при условии β i ( x ) = ρ x∈D ⎩ k =1 Qi− ⎭ x
Теперь очевидно, что чем больше радиус шара Ri* , в котором относительное отклонение i -го критерия от его минимального значения не превосходит ξi , тем меньше надо выбирать значение весового коэффициента wi : 1 Ri* wi = s i = 1,..., s . 1 ∑ * i =1 Ri Способ 3. Теоретико-игровая модель выбора весовых коэффициентов. ρ Пусть имеется S частных критериев оптимальности Qi ( x ) , для которых нельзя заранее установить количественное отношение предпочтения по важности с помощью весовых коэффициентов wi . Введем меру
ρ Qk− − Qk ( xl∗ ) . Cl k = Qk− Эта величина определяет относительное отклонение оптимального значения k -го критерия Qk− от его значения, которое получено при ρ ρ оптимальном решении xl* для l –го критерия Qk ( xl* ) , где ρ ρ Q k− = Q k ( x k* ) = min Qk ( x ) , ρ x ∈D ρ ρ Ql− = Ql ( x l* ) = min Ql ( x ) . ϖ x
x ∈D x
71
Очевидно, что Cl l = 0, Cl k ≥ 0 . строкам соответствуют ρ оптимальные решения по каждому частному критерию xl* , а столбцам – оптимальные значения частных критериев Qk− Построим
матрицу
из
Q1− ρ x1* 0 ρ* x 2 C 21 Μ Λ ρ* xl C l1 Μ Λ ρ* x s C s1
величин
Q2− C12 0 Λ Cl 2 Λ Cs2
Λ Λ Λ Λ Λ Λ Λ
Cl k ,
Ql− C1l C 2l Λ 0 Λ C sl
где
Qs− C1s C2s Λ Cls Λ 0
Λ Λ Λ Λ Λ Λ Λ
(4.5.)
Будем рассматривать матрицу (4.5.) как матрицу платежей в игре двух лиц с нулевой суммой. Партию этой игры можно представить следующим ρ образом: первый игрок выбирает одно из оптимальных решений xl* (это чистая стратегия игрока 1), а второй игрок независимо от выбора первого игрока выбирает любой критерий Qk− (это чистая стратегия второго игрока). В связи с тем, что все C l k ≥ 0 , первый игрок платит второму штраф Cl k , то есть каждый элемент матрицы представляет проигрыш первого игрока в случае выбора им ρ решения xl* , а вторым игроком критерия Qk− . Очевидно, что первый игрок стремится добиться ρ Qk− − Qk ( xl∗ ) , min max Cl k = min max l l k k Qk− ρ то есть стремится минимизировать за счет выбора значений xl* проигрыш, который следует ожидать по отношению ко всем возможным значениям критериев Qk− . Представим себе, что такая игра разыгрывается многократно. При этом первый игрок чистые стратегии выбирает ρ x1∗ Λ с вероятностью Λ µ1 , ⎫ ρ ⎪ x 2∗ Λ с вероятностью Λ µ 2 , ⎪ ⎬ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ ,⎪ ρ x s∗ Λ с вероятностью Λ µ s , ⎪⎭
72
s
µ i = 1. ∑ i= 1
Второй игрок выбирает чистые стратегии с вероятностью
Q1 ↔ w1 , ⎫ Q2 ↔ w2 ,⎪⎪ ⎬ Λ Λ Λ Λ ,⎪ Qs ↔ ws , ⎪⎭
s
∑w
i
i =1
= 1.
Смешанную оптимальную стратегию игры (m×n) второго партнера можно найти из задач линейного программирования s ⎧ min ⎪ vρ ∑ v k , ⎪ s k =1 ⎪ ⎨∑ C ik v k ≥ 1, i = 1,2,..., s , ⎪ k =1 ⎪v k ≥ 0 , k = 1,2,..., s . ⎪ ⎩
ρ Пусть v * = (v1* ,Κ , v s* ) решение задачи, тогда оптимальная смешанная стратегия второго игрока определяется, как
wi =
vi* s
∑v k =1
, i =1,2,..., s .
(4.6.)
∗ k
Полученные значения wi и являются весовыми коэффициентами, определяющими относительную важность i -го критерия оптимальности. Запишем целевую функцию задачи в виде аддитивного критерия оптимальности ρ s ρ Qi ( x ) F (Q) = min ∑ wi min , ρ x∈D x∈ D Qi− i =1 x
(4.7.)
x
ρ где ненормализованные критерии Qi (x ) взвешиваются множителями wi Qi− . ~ = wi и зададим вектор весовых коэффициентов Положим w i Qi− w = * i
~ w i s
∑ w~k
.
(4.8.)
k =1
73
Тогда эффективная точка может быть найдена путем решения задачи s ρ * оптимизации min w Q ( x ) , где wi* определяются из (4.6.), (4.7.), (4.8.), ∑ i i ρ x∈Dx i =1
ρ причем v * = (v1* ,Κ , v s* ) программирования,
–
оптимальное
решение
задачи
линейного
ρ ρ Qk− = Qk ( x k* ) = min Qk ( x ), k = 1, s . ρ x∈Dx
Способ 4. Информация, содержащаяся в матрице (4.5.) может быть использована для выбора весовых коэффициентов следующим образом. Рассмотрим k -й столбец матрицы, где указаны относительные значения k ρ го критерия, достигнутые при оптимальных решениях, x l других критериев. ρ Если в k -м столбце все элементы невелики, то есть Qk ( xl* ) мало отличаются от оптимального значения k -го критерия, то значение весового коэффициента wk может быть взято небольшим по величине. Если в k -м столбце значения ρ Qk ( xl* ) сильно отличаются от Q* , то есть элементы Cl k имеют большие значения, то весовой коэффициент должен быть взят большим. На этих соображениях основан следующий способ выбора весовых коэффициентов. Для каждого столбца матрицы (4.5.) находим максимальный и минимальный (ненулевой) элементы: k
α k = max { Cik }, 1≤i ≤ S
µ k = min { Cik }. 1≤i ≤ S Cik ≠ 0
Вычисляется разность между экстремальными элементами k -го столбца:
[γ k
= α k − µ k ],
и значения весовых коэффициентов выбираются пропорционально полученным значениям γ k по формуле
wk =
γk
, k =1,2,..., s / .
s
∑γ i =1
i
Способ 5. Назначение весовых коэффициентов по численным значениям попарных приоритетов. В некоторых случаях информация о важности частных критериев оптимальности может быть задана по бальной
74
шкале в виде числовых оценок приоритетов µ i j между двумя частными критериями Qi и Q j . Пусть ЛПР задал дискретный ряд значений бальных оценок, например α, β, γ, δ , и определил по этой шкале сравнительную важность двух критериев оптимальности Qi и Q j следующим образом: ⎧ δ − подавляющая важность Qi по сравнению с Q j , ⎪ α ⎪γ ⎪ α − Qi имеет значительно большую важность, чем Q j , µi j = ⎨ ⎪β − Qi имеет большую важность , чем Q j , ⎪ α ⎪α − Qi и Q j примерно равны по важности. ⎩ α µ ji = 0 . При этом чаще всего α=1. По имеющейся информации о степени предпочтения по важности каждой пары частных критериев оптимизации составлена матрица размером S × ( S + 1) , каждый элемент которой образуется следующим образом: в i -ю строку на место j -го столбца ставится числитель оценки µ i j , а в j -ю строку на место i го столбца – 1. В последнем ( S + 1) столбце матрицы для каждой строки находится сумма оценок по столбцам S k , которая характеризует суммарную важность k -го критерия относительно всех остальных частных критериев. Очевидно, что частным критериям, имеющим большую суммарную оценку S k , должен соответствовать больший весовой коэффициент wk . Это предположение позволяет находить весовые коэффициенты wi по следующей формуле: wi =
Si
,
s
∑S k =1
i = 1.2,..., s .
k
ρ Пример. Имеется векторный критерий Q = (Q1 , Q2 , Q3 , Q4 ) . Предположим, что по бальной шкале (1,3,7,14) ЛПР указал следующие числовые оценки приоритетов: µ12 = 14 , µ13 = 3 , µ14 = 1 , 1 1 1 µ 23 = 1 , µ 24 = 7 , µ 34 = 14 . 1 1 1 75
Матрица имеет вид:
Q1 Q2 Q3 Q4
Q1 Q2 0 14 1 0 1 1 1 1
Q3 3 1 0 1
Q4 S 1 18 7 8 . 14 16 0 3
Из матрицы получаем численные значения весовых коэффициентов, определяющие относительную важность каждого частного критерия оптимальности: w1 = 0,39 , w2 = 0,2 , w3 = 0,34 , w4 = 0,07 . Способ 6. Метод экспертных оценок для выбора весовых коэффициентов. Алгоритм индивидуальной экспертизы заключается в систематической проверке суждений об отношениях предпочтения для оцениваемых критериев Qi (i = 1,2,..., s ) путем последовательных сравнений и состоит из следующих этапов: Этап 1. ЛПР осуществляет ранжировку частных критериев в порядке убывания их предпочтительности, перенумеровывая критерии: Q1 φ Q2 φ Κ φ Qs . Этап 2. Критерию Qs присваивается оценка µ s = 1 . После чего ЛПР назначает другие величины µ i , которые отражают его суждения об относительной важности частных критериев оптимальности. Этап 3. Строится таблица вариантов логического выбора. 1 в а р и а н т
Q1 ∪ Q2 + Κ + Qs Q1 ∪ Q2 + Κ + Qs −1 ......................... Q1 ∪ Q2 + Q3
2
…
S −2
……………..
Qs − 2 ∪ Qs −1 + Qs
Q2 ∪ Q3 + Κ + Qs Q2 ∪ Q3 + Κ + Qs −1 ......................... Q2 ∪ Q3 + Q4
Лицу, принимающему решение, предлагается рассмотреть столбцы с первого по S − 2 сверху вниз и зафиксировать свои суждения при помощи отношений предпочтения π или φ , ставя их вместо знака ∪ . Если левая часть одного из вариантов какого-либо столбца предпочтительнее правой или эквивалентна, то переходим к первому варианту следующего столбца и так далее до последнего столбца. Этап 4. ЛПР предлагается проставить оценки µ i в таблицу. Если обнаруживается несоответствие, то оценки µ i изменяются в минимально возможной степени так, чтобы достигнуть соответствия с решениями, 76
зафиксированными в таблице. Проверка таблицы начинается с нижней строки последнего столбца. Этап 5. По уточненным данным оценок µ i вычисляются весовые коэффициенты. wi =
µi
,
s
∑µ k =1
i = 1,2,..., s .
k
Выводы. Зачастую удается свести многокритериальную задачу к однокритериальной и зачастую удается установить некоторую связь между изначальным множеством критериев и единственным новым критерием. Тогда вклады каждого критерия считаются с некоторым своим весом – понятно, что для гоночной машины скорость и надежность куда важнее, чем число посадочных мест.
4.3. Множество эффективных решений Многокритериальная задача оптимизации вместе со множеством возможных, (допустимых) решений Dx включает набор целевых функций (называемых также частными критериями оптимальности) Q1 ,Q2 ,...,Qs . Набор частных критериев оптимальности образует вектор-функцию (векторный критерий), которую далее будем обозначать через ρ ρ ρ ρ ρ Q ( x ) = (Q1 ( x ), Q2 ( x ),..., Qs ( x )) .
Наряду с множеством допустимых решений Dx удобно рассматривать множество DQ − область критериев
ρ ρ ρ DQ = {Q = (Q1 , Q2 ,..., Qs ) / Qi = Qi ( x ), x ∈ Dx } . ρ Каждому решению x ∈ Dx соответствует один вполне определенный ρ ρ ρ ρ векторный критерий Q (x ) . С другой стороны, каждой оценке Q (x ) могут ρ отвечать несколько решений x ∈ Dx . Таким образом, между множествами Dx и DQ имеется тесная связь, и поэтому выбор решения из Dx в указанном смысле
равносилен выбору соответствующей оценки из DQ . Таким образом, при существовании в задаче нескольких частных критериев рассмотрим задачу многокритериальной оптимизации, как задачу ρ нахождения такого вектора x ∈ Dx , который обеспечивает одновременно минимальное значение каждому частному критерию оптимальности 77
ρ ρ ρ Q ( x ), Q ( x ),..., Q ( x ), s 1 2 min min min ρ ρ ρ x∈D x∈D x∈D ρ ρ D x ={ x / g i ( x ) ≥ 0, i =1, 2,..., m } . x
x
x
ρ ρ Любые два векторных критерия Q k = (Q1k , Q 2k ,..., Q sk ) и Q l = = (Q1l , Q 2l ,..., Q sl ) являются противоречивыми, если Qik ≤ Qil , i ∈ I 1 , Q kj ≥ Q lj , j ∈ I 2 , I 1 Υ I 2 = {1,2, ..., s}, и по крайней мере одно из этих соотношений является строгим. В случае ρ ρ доминирования Q k над Q l : Q ik ≤ Q li , i = 1, 2,..., s , и хотя бы для одного i это ρ неравенство строгое, альтернатива x l может быть исключена из рассмотрения, ρ ρ так как вектор Q k лучше вектора Q l по всем частным критериям. ρ ρ В этом случае при переходе от критерия Q l к критерию Q k ни один из частных критериев не ухудшится, а хотя бы один из них будет улучшен. Множество критериев, для которых всегда справедлив принцип доминирования, образует множество Ds ( Ds ⊆ DQ ) , которое называется областью согласия. В области согласия нет противоречия между частными критериями оптимальности, и, если область критериев состоит только из ρ области согласия, тогда существует единственная точка x ∗ ∈Dx , в которой все частные критерии согласованы между собой в том смысле, что при движении к ρ ρ ρ x ∗ значения всех компонент Qi (x ) уменьшаются. Точка x ∗ называется оптимальным решением, и при этом значения всех частных критериев достигают в ней минимума. Такая ситуация на практике встречается крайне редко, наиболее типичным является случай, когда частные критерии являются противоречивыми и минимум по каждому из них достигается в различных точках. В этом случае уменьшение одного частного критерия приводит к увеличению других частных ρ критериев. Такие точки x 0 ∈Dx , в которых не выполняется принцип ρ доминирования относительно любой точки x ∈Dx , называются эффективными ρ точками (эффективными решениями), то есть точка x 0 ∈Dx называется ρ эффективной, если не существует ни одной точки x ∈ Dx такой, что ρ ρ Qi ( x ) ≤ Qi ( x 0 ), i =1,2,...,s и хотя бы для одного j это неравенство строгое ρ ρ Q j ( x) < Q j ( x 0 ) . ρ Поскольку в эффективных точках векторный критерий оптимальности Q является не уменьшаемым по всем частным критериям одновременно, то эти точки также называются неулучшаемыми решениями или оптимальными по Парето. 78
ρ Множество векторных критериев Q , соответствующих множеству всех эффективных точек, называется областью компромиссов Dk ( Dk ⊂ DQ ) , а само множество эффективных (множество эффективных критериев) точек – областью решений, оптимальных по Парето. Оптимальность по Парето означает, что нельзя дальше уменьшать значение одного из частных критериев, не увеличивая при этом хотя бы одного из остальных, таким образом, в области компромиссов Dk не выполняется принцип доминирования, а частные критерии являются противоречивыми. Это приводит к необходимости введения компромисса между частными критериями ρ ρ оптимальности для того, чтобы решить, какой из векторов Q l или Q k из области компромиссов Dk считать предпочтительным. Под оптимально-компромиссным решением будем понимать одну их ρ эффективных точек x 0 ∈Dx , являющуюся предпочтительней с точки зрения ЛПР. Таким образом, задача векторной оптимизации не позволяет однозначно ответить на вопрос, получено ли оптимальное решение. Положительный ответ на этот вопрос зависит от качественной информации о важности частных критериев, которая имеется у ЛПР. Вывод. Иногда множество критериев не удается свести к одному. Тогда возникает задача поиска эффективных решений – таких, что не существует лучших во всех аспектах решений. Только что мы привели правила поиска подобных решений. Многокритериальные задачи широко распространены в нашей жизни. Сейчас мы дали краткий обзор методов, которыми можно работать с такими задачами – либо сводить их к однокритериальной задаче, либо находить множество эффективных решений. Контрольные вопросы: 1. Дайте определение критерию. 2. Дайте определение весовому коэффициенту для критерия. 3. Назовите действия, если задачу не удается свести к однокритериальной.
79
Глава 5 МОДЕЛИ ИССЛЕДОВАНИЯ ОПЕРАЦИЙ Вся наша жизнь состоит из каких-то действий. Иногда они простые, иногда сложные. И мы часто хотим сделать их наиболее эффективно. Но как понять, что такое эффективность для конкретного действия и как ее добиться. В некоторых классах ситуаций эти задачи нам помогает решить теория операций. В настоящее время эта науку расширяется и охватывает все новые и новые классы задач. Многие практические задачи могут быть сведены к какому-либо из этих классов.
5.1. Основные принципы исследования операций. Предмет исследования операций В настоящее время методы Исследования Операций (ИО) находят широкое применение в самых разнообразных областях человеческой деятельности от задач военного плана и управления производства до вопросов проектирования и разработки технических устройств. Потребности практики вызвали к жизни специальные научные методы, которые объединяются под общим названием «Исследование Операций». Что же такое ИО? Было предложено много определений ИО, из которых, на мой взгляд, наиболее полно отражает суть следующее: Исследование операций – это применение математических, количественных методов для обоснования решений во всех областях целенаправленной человеческой деятельности. Действительно, ещё первобытный человек, чтобы обеспечить свое существование и удовлетворить различные потребности, большую часть времени посвящал целенаправленному труду: охотился, делал жилище, изготовлял одежду, оружие и т.д. Но до поры, до времени решения могли приниматься без специального математического анализа, просто на основе опыта и здравого смысла. Этот способ принятия решений имеется и сегодня. Например, человек выходит утром на работу. По ходу дела ему приходится принимать целый ряд решений: брать ли плащ, где перейти улицу, на каком транспорте ехать? и т.д. Естественно, что все эти решения человек принимает без специальных расчетов, опираясь на свой опыт и здравый смысл. Аналогично происходит и в сфере производства. До тех пор, пока производство небольшое, опытный руководитель, на основании предыдущих знаний, а может быть и интуиции, принимает правильные решения в трудной обстановке. Но когда в сложной системе руководитель начинает чувствовать, что что-то идет не так, как следует, что система работает с меньшим эффектом, чем может, а привычными методами управления не удается улучшить её
80
деятельность, на помощь призываются математические, количественные методы – ИО. Еще сложнее обстоит дело с принятием решений, когда речь идет о мероприятиях, опыта, в проведении которых не существует и, следовательно, здравому смыслу не на что опереться, а интуиция может обмануть.
5.1.1. История развития исследования операций История развития исследования операций (ИО). ИО относится к числу молодых наук. Сам термин «исследование операций» появился в период второй мировой войны. Тогда он полностью соответствовал содержанию предмета и носил военный оттенок. В настоящее время методы ИО находят самое широкое применение в управлении промышленности, планировании, проектировании и т.д., но название осталось и вряд ли будет вытеснено каким-либо другим в ближайшем будущем. Одним из первых, кто занимался решением задач, относящихся к области ИО, можно назвать американского инженера Ф. Тейлора (1885 – 1911гг.), основоположника научной организации труда на предприятиях. Тщательно изучая процессы выполнения различных рабочих операций, Тейлор устанавливал, как можно путем строгой рационализации движений, размещения инструмента и т.д. добиться максимальной производительности труда. Другим пионером в ИО был датский инженер А.К. Эрланг. В 1917 г. он дал определение среднего времени ожидания вызова, подсчета потерь времени на установление связи и т.д. Результаты исследований Эрланга нашли широкое применение в расчетах телефонной связи. А.К. Эрланга можно считать основоположником одного из важных разделов ИО – теории массового обслуживания. В области исследования военных операций широко известны работы английского математика Ф. Ланчестера. В его книге «Война и воздушные силы» (1916 г.) сформулирован знаменитый «квадратичный закон», который устанавливает связь между численным перевесом и превосходством в качестве оружия для достижения победы. В 1930 г. американец Г. Левинсон провел ряд исследований операций в области торговли – оценка эффективности рекламы, размещение товаров, влияние конъюнктуры на номенклатуру и количество товаров. В 1939 г. советский математик Л.В. Канторович по просьбе Всесоюзного фанерного треста занялся решением задачи о наивыгоднейшей загрузке 8-ми станков 5-ю изделиями. В результате им был создан общий математический метод, получивший позднее название линейного программирования, пригодный для широкого класса планово-экономических задач. В конце 40-х годов методы линейного программирования начали разрабатываться в США Дж. Данцигом и его школой. Заглядывая в первую половину прошлого столетия можно найти, хотя и весьма примитивные, модели математического программирования, 81
предложенные еще в 1759 г. экономистом Куисни и в 1874 экономистом Вальрасом. Профессор Кембриджского университета У. Бэббидж (1791 – 1871) в своих исследованиях применял методы исследования операций к булавочной промышленности, книготорговле, к операциям Британского почтамта. Небезынтересно, что Бэббидж составил первый проект вычислительной машины механического действия, а его ученица и сотрудница, дочь поэта Байрона, леди Лавлес составила для этой машины первую в мире программу. Математические основы линейного программирования успешно разрабатывались на рубеже XIX и XX веков Жорданом (1873г.), Минковским (1896г.) и Фаркашем (1903г.). Следует отметить также весьма серьезные результаты, полученные в области динамического программирования Марковым (1856 – 1922г.г.). Не смотря на то, что результаты этих первых поисковых работ получили признание и высокую оценку, формирование основ ИО как самостоятельной научной дисциплины относится к периоду второй мировой войны. Чем это объясняется? Во-первых, за время между двумя мировыми войнами в технике ведения боевых операций произошли такие разительные перемены, что военные руководители оказались неподготовленными вести войну с помощью новых технических средств. Для того чтобы повысить эффективность использования этих средств, при военных штабах армий США, Англии, Канады и Франции были созданы новые отделы и группы исследования операций, в состав которых вошли и ученые. Во-вторых, ко времени окончания войны крупные изменения произошли и в управлении промышленностью. Возникновение огромных фирм и объединений, укрупнение заводов, бурный технический прогресс – все это привело к тому, что старые методы управления не давали должной эффективности. Успехи же от применения методов управления, рекомендованных отделами ИО в армии, были весьма существенными. Поэтому после окончания войны на крупных промышленных фирмах и объединениях стали создаваться отделы исследования операций. Раньше других стран, организация ИО в промышленности была осуществлена в Англии в угольной промышленности, в энергетике, на железнодорожном и воздушном транспорте. Начиная с 50-х годов, в связи с успехами в области электронновычислительной техники и проникновением в производство автоматики и современных быстродействующих ЦВМ, усиленно развиваются методы ИО во всех странах мира с высокоразвитой промышленностью. Предмет и задачи ИО. ИО, как правило, приходится проводить с помощью модели операции, т.к. организация и выполнение самой операции (оригинала) с целью её изучения, дело сложное и дорогое. Конечной целью ИО является отыскание оптимального решения. Что здесь имеется в виду? В ИО под оптимальным решением понимают решение (управление), которое минимизирует или максимизирует некоторый критерий (целевую функцию, функцию качества) при различных ограничениях. Итак, ИО методологически можно разделить на следующие этапы: 82
1. 2. 3. 4.
составление математической модели операции; выбор критерия оптимальности; определение информации, необходимой для исследования модели; исследование математической задачи для отыскания оптимального решения.
5.1.2. Особенности ИО и связь с другими научными дисциплинами Особенности ИО состоят в следующем: 1. Применение специфического научного метода, а именно: выбор критерия, построение математической модели исследуемого процесса, определение необходимой информации и отыскание оптимального решения осуществляется с помощью методов математического программирования. 2. Системный подход. Этот подход основан на том, что изменение в любой части системы может привести к изменению функционирования всей системы в целом. Поэтому, решая отдельные задачи необходимо, по возможности, установить все связи, влияющие на ход событий в отдельных частях системы. 3. Использование достижений разных наук, а именно: математики (линейное, нелинейное и выпуклое программирование, вариационное исчисление, теория вероятностей, теория игр и др.), экономики, физики, теории проектирования технических устройств, инженерной психологии и многих других. 4. Системный подход к анализу поставленной проблемы. Системный подход (анализ) является основным принципом исследования операций. Любая задача, какая бы ни была частная, рассматривается с точки зрения ее влияния на критерий функционирования всей системы. 5. Для исследования операций характерно, что при решении каждой новой проблемы возникают все новые задачи. Наибольший эффект достигается при непрерывном исследовании, обеспечивающий преемственность при переходе одной задачи к другой. 6. Стремление к нахождению оптимального решения поставленной задачи. Хотя определение оптимального решения не всегда возможно из-за ограничений, накладываемыми имеющимися в наличии ресурсами (или уровня развития современной науки). В этом случае довольствуются субоптимальным решением. Предметом исследования операций являются чаще всего системы организационного типа (организации), которые состоят из большого числа подразделений, взаимодействующих между собой. Причем интересы подразделений не всегда согласуются между собой и могут быть противоположными.
83
Цель исследования операций – количественное обоснование принимаемых решений по управлению организациями (системами). Решение, наиболее выгодное всей организации называется оптимальным. Решение, выгодное одному или нескольким из подразделений – субоптимальное. Надо заметить, оптимальное решение для всей организации необязательно оптимально для входящих в нее подразделений. Исследования всегда проводятся комплексно по многим направлениям. Для проведения такого исследования системы организационного типа создается группа, состоящая из специалистов различного профиля из разных областей (инженеры, экономисты, психологи и т.д.). Задача такой группы – комплексное исследование всего множества факторов, влияющих на решение проблемы, и использования идей и методов различных наук. Вывод. Мы формализовали понятие «операция» – то, что мы будем изучать в оставшейся части нашего курса. Был дан краткий экскурс в историю возникновения и развития этой науки и приведены примеры практических задач с которыми она работает.
5.2. Операция и ее математическая модель. Особенности операций. Критерий эффективности 5.2.1. Определение информационной операции Понятие операции является ключевым понятием в теории ИО. Под операцией понимается любое мероприятие (система действий), объединённое единым замыслом и направленное к достижению определённой цели. Примеры. Передача сигналов в АСУ. Отражение воздушного налета средствами ПВО. Мероприятия, направленные на повышение надежности работы технического устройства. Запуск группы искусственных спутников Земли для установления системы телевизионной связи. Как видно из рассмотренных примеров, операция всегда является управляемым мероприятием, то есть от руководителя будет зависеть выбор определенных решений. Однако, известно, что решения могут быть удачными и неудачными, разумными и неразумными. Отсюда и вытекает основная задача ИО – предварительное количественное обоснование решения, которое по тем или иным соображениям предпочтительнее всех других – такие решения называются оптимальными. Эффективность операции. Под эффективностью операции понимают степень её приспособленности к выполнению стоящей перед ней задачи. Чем лучше организована операция, тем она эффективнее. Для суждения об 84
эффективности операции нужно иметь некоторый численный критерий оценки или показатель эффективности (целевая функция). Обозначим показатель эффективности через W. Приведем следующие примеры. 1. Рассмотрим работу промышленного предприятия с точки зрения его рентабельности. Для повышения рентабельности необходимо провести ряд организационных мероприятий. Показателем эффективности является прибыль (или средняя прибыль), приносимая предприятием за хозяйственный год; 2. Радиолокационная станция ведет наблюдение за воздушным пространством в определенном районе. Задача станции – обнаружить любой самолет, если он появится в районе. Показатель эффективности – вероятность обнаружения любого самолета в заданном районе; 3. Производится определенный вид товаров. Показатель эффективности – количество (среднее количество) сэкономленных средств. Во всех рассмотренных примерах показатель эффективности требуется обратить в максимум. В общем, то это не обязательно. Очевидно, что когда показатель эффективности W надо обратить в минимум, достаточно изменить знак величины W. Любое операционное исследование, при всем возможном многообразии конкретных работ по исследованию операций, проходит последовательно следующие этапы: 1. постановка задачи 2. построение математической модели 3. нахождение метода решения (выбор, разработка) 4. проверка и корректировка модели 5. реализация найденного решения на практике 1. Постановка задачи. Чрезвычайно ответственный этап операционного исследования. Первоначально задачу формулируют с точки зрения заказчика. Такая постановка никогда не бывает окончательной. Во время анализа исследуемой системы постановка всегда уточняется. На этом этапе роль операций состоит в тщательном исследование объекта, изучении множества факторов, влияющих на результаты исследования процесса. 2. Формализация задачи. В самом общем случае математическая модель задачи имеет вид: найти max E = max f ( x, y ) при g i ( x, y ) ≤ bi , i = 1, m , где
E = f ( x, y ) – целевая функция (показатель качества или эффективность системы); ⎯x – вектор управляемых переменных; ⎯y – вектор неуправляемых переменных; gi – функция потребления i-го ресурса bi – величина i-го ресурса. 85
3. Нахождение метода решения. Для нахождения оптимального решения ⎯хопт в зависимости от структуры целевой функции и ограничений применяют те или иные методы теории оптимальных решений: − линейное программирование, если f и g – линейные функции. − нелинейное программирование, если f и g – нелинейные функции. − динамическое программирование, если f имеет специфическую структуру, т.е. является аддитивной или мультипликативной функцией от переменных ⎯х и ⎯у: n
f ( x, y ) = ∑ f i ( x i , y i ) i =1
− геометрическое программирование, если целевая функция
f ( x ) = ∑ ci x1α i ...xmα m , а i
gi (x) ≤ 1
− стохастическое программирование, когда ⎯у – случайная величина, а вместо функции f (⎯х, ⎯y) рассматривается ее математическое ожидание Еу[f(⎯х, ⎯y)]. − дискретное программирование, если на ⎯х и ⎯у наложено требование дискретности (например, цело численности). − эвристическое программирование применяют при решении тех задач, в которых точный оптимизм найти алгоритмическим путем невозможно изза огромного числа вариантов. 4. Проверка и корректировка модели. В сложных системах, к которым относятся и системы организационного типа, модель лишь частично отражает реальный процесс. Поэтому необходима проверка степени соответствия или адекватности модели и реального процесса. Проверку производят сравнением предсказанного поведения с фактическим поведением при изменении значений внешних неуправляемых воздействий. Реализация найденного решения на практике – важнейший этап, завершающий операционное исследование.
5.2.2. Математическая модель ИО Математическая модель операции. Во всех количественных методах исследования необходимо построить некоторую математическую модель явлений. Математическая модель операции это упрощенные количественные связи между условиями операций, параметрами решения и исходом операции – показателем эффективности. Общих способов построения математических моделей не существует. В каждом конкретном случае модель строится, исходя из целевой функции, 86
заданной точности решения, а также точности исходных данных. Требования к математической модели противоречивы. Действительно, с одной стороны, она должна быть достаточно полной (сложна), с другой стороны, модель должна быть обозримой (проста). Математические модели применяемые в настоящее время в задачах ИО, можно подразделить на два больших класса: 1. аналитические; 2. статистические. В аналитических моделях при принятых упрощениях и допущениях составляются те или иные аналитические зависимости между переменными решаемой задачи. Эти зависимости могут иметь вид алгебраических уравнений, обыкновенных дифференциальных уравнений, уравнений в частных производных и т.п. С помощью аналитических моделей удается с удовлетворительной точностью описать лишь сравнительно простые операции, где число переменных не слишком велико. В статистических моделях сама операция как бы «копируется» на вычислительной машине, со всеми случайными изменениями. Статистические модели имеют преимущество перед аналитическими такие, что позволяют учесть большее число факторов и не требую грубых упрощений и допущений. Однако, результаты статистического моделирования труднее, естественно, поддаются анализу и осмыслению. Наиболее перспективно использование совместно аналитических и статистических моделей для одной и той же задачи: аналитическая модель позволяет вчерне разобраться в основных закономерностях явления, а дальнейшее уточнение можно получить статистическим моделированием. Приведем следующие примеры. 1. Проблема «двух картошек». Фабрика выпускает три различных продукта из картофеля: продукт 1 – картофельные дольки, продукт 2 – картофельные кубики, продукт 3 – картофельные «хлопья». Фабрика может закупить картофель у двух различных поставщиков: поставщик I, поставщик II. Объем продуктов 1, 2 и 3, которые можно получить из одной тонны картофеля поставщиков I и II различны – показатели приведены в таблице 5.1. Таблица 5.1. Продукт 1 2 3 Относительная прибыль
Поставщик I 0,2 0,2 0,3 5
Поставщик II 0,3 0,1 0,3 6
Ограничения на объем выпускаемых продуктов 1,8 1,2 2,4
Допустим, что относительная прибыль (разность из полной выручки всех видов продуктов из 1 т. картофеля, закупленного, например, у поставщика I, 87
стоимости 1 т. картофеля) при закупке 1 т. картофеля у поставщика I равна 5, а у поставщика II – 6. Стоит задача: какое количество картофеля следует купить у каждого из поставщиков? На первый взгляд кажется, что т.к. относительная прибыль при закупке картофеля у поставщика II больше, соответственно и закупать требуемое количество картофеля нужно у него. Но это оказывается не так. Покажем это. При принятии решения по закупке картофеля необходимо, по меньшей мере учитывать ещё два фактора: 1. максимальное количество каждого продукта, которое фабрика может реализовать. 2. максимальное количество каждого продукта, которое фабрика может изготовить при заданных условиях производства. Для простоты положим, что, учитывая оба этих фактора одновременно, мы получим следующие ограничения (последний столбец табл. 5.1.). Эти ограничения математически можно сформулировать таким образом: пусть x1 и x 2 есть количество картофеля, которое будет закуплено у поставщиков I и II соответственно, тогда ограничения принимают вид: 0,2 x1 + 0,3x 2 ≤ 1,8 для пр.1, ⎫ 0,2 x1 + 0,1x 2 ≤ 1,2 для пр.2,⎪⎪ ⎬ 0,3x1 + 0,3x 2 ≤ 2,4 для пр.3,⎪ ⎪⎭ x1 ≥ 0, x 2 ≥ 0.
(5.1.)
Представим уравнения (5.1.) графически (рис. 5.1.). За критерий эффективности (целевую функцию) необходимо выбрать такую функцию, которая при выполнении ограничений (5.1.) имела бы максимальную относительную прибыль. Из условия W определяются оптимальные значения закупок x1 и x 2 . Итак, целевая функция имеет вид: W = 5 x1 + 6 x 2 .
(5.2.)
x2 12 10
Из графического построения видно, что максимум W при ограничениях (5.1.) находится на пересечении прямых, определяемыми двумя первыми условиями (5.1.), решая их совместно, получим оптимальное значение x1 и x 2 .
2
8
3
6
1 область допустимых стратегий
4 3
2
x1 2
4
4,5
6 Рис.1
8
10
12
Рис. 5.1. График уравнений 5.1. 88
0,2 x1 + 0,3 x 2 = 1,8,⎫ ⎬ 0,2 x1 + 0,1x 2 = 1,2, ⎭
(5.3.)
0,2 x1 = 1,8 − 0,3x 2 , 1,8 − 0,2 x 2 = 1,2, − 0,2 x 2 = −0,6, x 2 = 3, x1 = 4,5.
Рассмотренная задача является иллюстрацией модели линейного программирования. Однако в практических задачах количество ограничений достигает нескольких сотен, а количество переменных – нескольких тысяч. Построение таких моделей, а также методы их решения будут рассмотрены позднее. 2. Задача выбора кандидатуры на секретарскую работу. Руководство проводит собеседование с тремя девушками с целью выбора кандидатуры на секретарскую работу. Возможные категории кандидатур: 1 балл – посредственные качества; 2 балла – хорошие качества; 3 балла – отличные качества. Известно заранее (из прошлого опыта), что вероятность заполучить для собеседования девушку с отличными для секретарской работы данными равняется 0.2, с хорошими – 0.5, а с посредственными – 0.3. В случае если сразу же после собеседования руководитель не принимает девушку на работу, она устраивается на другую работу, т.е. решение должно приниматься немедленно. Естественно, если первая кандидатура оценивается в три балла, то руководитель берет её на работу немедленно. Если же она оценивается в 1 балл, то руководитель ничего не теряет, решив рассмотреть следующую кандидатуру. Если же первая кандидатура оценивается в 2 балла, то возникают ситуации такого рода: 1. Если остановить свой выбор на этой кандидатуре в 2 балла, то теряется возможность подыскать на секретарскую работу с отличными данными в 3 балла. 2. Если продолжить собеседование со следующей кандидатурой, то не исключена возможность, что придется довольствоваться лишь посредственным секретарем в 1 балл. 3. Если продолжить собеседование со следующей кандидатурой, то может возникнуть аналогичная ситуация, если данные второй кандидатуры будут оценены в 2 балла. Проблему выбора удобно продемонстрировать с помощью так называемого дерева альтернатив (рис. 5.2.). 89
оп Ст
1 2,336
0,2 K. O. П.K. 0,3 Х. K. 0,5
3
Продолжить
П
ить лж до ро
Ст оп
оп Ст
2 2,17
0,2 K. O. П.K. 0,3 Х. K. 0,5
3
Продолжить ть жи ол од р П
3 1,9
0,2 K. O. П.K. 0,3
3
Стоп
Х. K. 0,5
1
Ст оп
Ст оп
2
оп Ст
2
2
Рис.2
Рис. 5.2. Дерево альтернатив
Здесь кружки с цифрами обозначают кандидатуры, проходящие собеседование, а ветви, исходящие из этих кружков показывают возможные исходы собеседования. На каждой ветви показана вероятность соответствующего исхода. Квадратики обозначают акт принятия решения. Число в конце ветви есть результат соответствующего выбора в баллах. Нахождение оптимальной стратегии в связи с принятием решения в такого рода задачах решается с помощью метода динамического программирования, который мы будем рассматривать подробно в дальнейшем. Этот же пример можно разобрать и сегодня. Предположим, что собеседование прошло со всеми тремя кандидатурами и в результате оказывается принятой третья из них. Тогда ожидаемая оценка исхода, учитывая случайный характер, равняется 3 ⋅ 0.2 + 2 ⋅ 0.5 + 1⋅ 0.3 = 1.9 ,
(5.3.)
т.е. средняя оценка кандидатуры, случайно подобранной для собеседования, равняется 1.9 балла. Проставим оценку 1.9 возле кружка 3. Рассмотрим следующую ситуацию: Допустим, что руководитель рассматривает вторую кандидатуру и она оценивается в 2 балла, следовательно собеседование необходимо прекратить, т.к. при переходе к третьей кандидатуре можно надеяться на исход с оценкой в 1.9 балла. Таким образом, на ветви с надписью «продолжить», в случае, когда вторая кандидатура оказывается в 2 балла, следует поставить знак «+», т.е. собеседование следует закончить. Если первая кандидатура оказывается в 2 балла, то, продолжая собеседование, со следующей кандидатуры можно ожидать оценку случайного исхода: 3 ⋅ 0.2 + 2 ⋅ 0.5 + 1.9 ⋅ 0.3 = 2.17 ,
(5.4.)
В этом выражении: Первое слагаемое относится к событию обнаружения у проходящей собеседование девушки 3 баллов (в этом случае её берут на работу). Второе слагаемое относится к событию обнаружения у девушки 2 баллов (её берут на работу, при выше рассмотренных условиях). 90
Третье слагаемое относится к событию обнаружения у проходящей собеседование девушки 1 балла с последующим переходом к рассмотрению третьего случайного события, исход которого, согласно (5.1.), оценивается в 1.9 балла. Так как 2.17 < 2, то при оценке первой кандидатуры в 2 балла необходимо принять решение о продолжении собеседования, а на ветви с надписью «Стоп» поставить знак «×». Таким образом, оптимальная стратегия выглядит так: Если первая кандидатура оценивается в 3 балла, то «стоп», во всех других случаях «продолжить», если вторая кандидатура оценивается в 3 и 2 балла, то «стоп», в 1 балл – «продолжить». Полное математическое ожидание оценки исхода процесса собеседования при условии, что руководитель действует оптимально, равняется 3 ⋅ 0.2 + 2,17 ⋅ 0.5 + 2.17 ⋅ 0.3 = 2.336 .
5.2.3. Общая математическая постановка задачи исследования ИО Каноническая форма. Пусть имеется операция, которая характеризуется некоторым численным критерием или показателем эффективности. W = W ( x1 , x2 , ..., xn ) .
(5.5.)
Допустим W необходимо обратить в минимум, т.е. W → min . Заданная операция может происходить при наличии ограничений вида: qi ( x1 , x2 , Κ ) ≤ qi* , ∀i ∈ m;
α k ( x1 , x2 , Κ ) = α , ∀k ∈ p; * i
x *j* ≤ x j ≤ x *j , ∀j ∈ n,
(5.6.) (5.7.) (5.8.)
т.е. имеется m – ограничений неравенств, p – ограничений равенств на зависимые величины или параметры решаемой задачи и n – ограничений на независимые переменные x j , где ∀ – символ, называемый квантор общности, обозначающий «любой», «каков бы ни был», «для всех». В (5.6.)÷(5.8.) q i* , α k* , x *j , x *j* – есть конкретные заданные числа, отображающие технические условия решаемой операции (ограниченное число по номенклатуре выпускаемой продукции, максимальное и минимальное количество каждой продукции и т.д.). Следует отметить, что при составлении математической модели операции для конкретной задачи система ограничений (5.6.)÷(5.8.) и критерия (5.5.) должна быть необходимой и достаточной. 91
Это означает, что количество ограничений не должно быть лишних и в то же время их должно быть достаточным для определенного решения. Тип ограничения неравенство (5.6.) или равенство (5.7.) определяется самим исследователем в зависимости от конкретного вида решаемой задачи. Зависимости (5.6.), (5.7.), (5.8.), таким образом, определяют собой допустимое множество D если x ∈ D , то при подстановке данных значений x в выражения (5.6.)÷(5.8.) – они будут выполняться ( x – вектор из j составляющих). Сформулированную выше задачу исследования операций можно записать более компактно:
{
}
max W ( x) x ∈ D; D : q ( x) = q * ∧ α ( x) = α * ( x) ∧ x ** ≤ x ≤ x * .
(5.9.)
Иногда запись делают еще в более общем виде max{W ( x) x ∈ D}.
(5.10.)
Инвариантность канонической формы. К канонической форме записи математической задачи ИО можно прийти от любого промежуточного вида: Действительно, если будем иметь q i ( x) ≥ q i* ⇒ − q i ( x) ≤ −q i* ,
(5.11.)
т.е. умножая левую и правую часть неравенства на –1, приходим к канонической форме. Аналогично, если необходимо показатель эффективности W обратить в максимум, то его также приводят к канонической форме, т.к. W ( x) → max ⇒ − W ( x) → min .
(5.12.)
Кроме этого ограничения в канонической форме можно упростить, ибо: q i ( x) ≤ qi* ⇒ qi ( x) − qi* ≤ 0 ⇒ qi′ ( x) ≤ 0, ⎫ ⎬. α k ( x) = α k* ⇒ α k ( x) − α i* = 0 ⇒ α i′ ( x) = 0.⎭
(5.13.)
Учитывая (5.12) и (5.13), упрощенная форма записи имеет вид: W ( x) → min (max),⎫ ⎪ qi′ ( x) ≤ 0, ⎪ ⎬. α k′ ( x) = 0, ⎪ ⎪⎭ x ** ≤ x ≤ x * .
92
(5.14)
Задачи ИО можно классифицировать по виду математических зависимостей (5.5.)÷(5.8.). 1. Если функциональные зависимости (5.5.), (5.6.) и (5.7.) являются алгебраическими или трансцендентными, то такие задачи называются статическими. 2. Если в математической модели операции зависимые и независимые переменные связаны друг с другом с помощью дифференциальных уравнений, то такие задачи называются динамическими. 3. Если функциональные зависимости (5.5.), (5.6.) и (5.7.) являются линейными, а метод решения их – линейное программирование. 4. Если переменные x , все или часть изменяются дискретно, т.е. принимают целочисленные значения, то такие задачи называются дискретными – метод решения – дискретное программирование. 5. Если коэффициенты, входящие в зависимости (5.5), (5.6) и (5.7) – изменяются случайным образом (все или часть), то такие задачи называются стохастическими, а метод решения – стохастическое программирование. Стохастические задачи в свою очередь делятся на два подкласса: 5.1. Когда вероятностные характеристики (закон распределения, математическое ожидание и т.д.) коэффициентов известны – это задачи в условиях риска; 5.2. Если вероятностные характеристики неизвестны или известны частично, то такие задачи называют стохастическими задачами в условиях неопределенности, а метод их решения - теория игр. 6. Если хотя бы одна переменная в зависимостях (5.5.)÷(5.7.) находятся в степени выше 1 или являются нелинейными функциями, то такие задачи называются нелинейными, метод их решения – нелинейное программирование. Нелинейное программирование на сегодняшний день представляет собой не разработанную часть. Наиболее полно из этого раздела разработаны методы решения квадратичным программированием – когда (5.5.) квадратичная функция (переменные в степени не выше 2), а ограничения (5.6.) и (5.7.) линейные.
5.2.4. Оценка операции по нескольким показателям Мы рассмотрели задачу ИО, где необходимо так выбрать решение, чтобы максимизировать (минимизировать) один единственный показатель эффективности W . Практически часто приходится оценивать эффективность операции не по одному, а сразу по нескольким показателям: W1 ,W2 ,Κ ,Wk ; некоторые из них желательно максимизировать, другие – минимизировать. Рассмотрим следующие примеры. 1. При оценке деятельности промышленного предприятия необходимо брать во внимание целый ряд показателей, к ним можно отнести: 93
– прибыль; – полный объем продукции («вал»); – объем реализованной продукции; – себестоимость и т.д. Возникает вопрос: как же поступить в этом случае? Следует сразу же подчеркнуть, что выдвинутые требования, вообще говоря, несовместимы. Действительно, решение, обращающее в максимум один какой-то показатель W1 , как правило, не обращает ни в максимум, ни в минимум другие показатели W2 , W3 , Κ . Поэтому для операционного исследования широко распространенная формулировка «достижение максимального эффекта при минимальных затратах» не подходит. В данном случае корректная формулировка может быть такой «достижение максимального эффекта при заданных затратах» или «достижение заданного эффекта при минимальных затратах». Однако количественный анализ эффективности и в случае нескольких показателей оказывается несомненно полезным, т.к. он позволяет сразу же отбросить нерациональные решения, которые уступают лучшим вариантам по всем показателям. 2 Пусть некоторая боевая операция оценивается по двум показателям: W - вероятность выполнения боевой задачи (эффективность); S - стоимость израсходованных средств. Очевидно, что необходимо: максимизировать W и минимизировать S . Предположим, для простоты, что для выполнения операции можно использовать 20 вариантов решения x1 , x2 , Κ , x20 , причем для каждого из них известны W и S (рис. 5.3.). S Из 20 рассмотренных вариантов, x8 x3 как показано на рис. 5.3., сразу x7 x13 x2 можно отбросить x6 x12 x1 «неконкурентно – способные». x5 x11 x20 x16 Из всех возможных вариантов x4 x10 x19 x15 остается лишь четыре x17 ÷ x20 . Из x9 x18 x14 них: x17 x20 – наиболее эффективный, но сравнительно дорогой; x17 – самый дешёвый, но зато W Рис.3 при известных Рис. 5.3. Варианты решения не столь эффективный. W и S Аналогично производится просмотр вариантов (хотя и без такой наглядной геометрической интерпретации) и в случае нескольких показателей: W1 ,W2 ,Κ ,Wk . Практически, при решении задач ИО по нескольким показателям, часто искусственно объединяют несколько показателей в один обобщенный показатель (критерий) в виде
94
U=
W1 Κ Wm , Wm +1 Κ Wk
(5.15.)
где в числителе произведение показателей, которые необходимо максимизировать; в знаменателе произведение показателей, которые необходимо минимизировать. Недостатком критерия вида (5.15.) является то, что недостаток эффективности по одному показателю всегда можно скомпенсировать за счет другого. 3. Малую вероятность выполнения боевой задачи - за счет малого расхода боеприпасов и т.п. Л.Н.Толстым был в шутку предложен «критерий оценки человека» в виде дроби: в числителе истинные достоинства человека, в знаменателе - его мнение о себе. По такому критерию, если его принять всерьез, человек почти без достоинств, но зато совсем без самомнения, будет иметь большую ценность. 4. В виде «взвешенной суммы»: U = a1W1 + a 2W2 + Κ + a k Wk ,
(5.16.)
где a1 , a 2 , Κ a k – положительные коэффициенты при Wi → max и отрицательные – при W j → min . Абсолютные значения коэффициентов «веса» соответствуют степени важности показателей. Недостаток обобщенного критерия (5.16.) аналогичен (5.15.). 5. В некоторых случаях задачу c несколькими показателями удается свести к задаче с одним главным (если его удается выделить) показателем эффективности W1 → max (min) , а на все остальные показатели W2 , W3 , Κ наложить ограничения вида: W2 ≥ ω 2 ; Κ ; Wm ≥ ω m ; Wm +1 ≤ ω m +1 ; Κ ; Wk ≤ ω k .
(5.17.)
Например, при работе промышленного предприятия потребовать: - максимизации прибыли; - план по ассортименту – выполнен; - себестоимость продукции – не выше заданной.
5.2.5. Структура проектов исследования операций В любом операционном проекте можно выделить 5 основных частей: 1. постановка задачи; 2. построение математической модели изучаемой системы; 3. нахождение решения на модели; 4. проверка модели и оценка полученного на ней решения; 5. внедрение решений и контроль его правильности. 95
Естественно, что записанный порядок выполнения проекта не является догмой, часто некоторые этапы могут осуществляться одновременно. Кроме того, практически во многих операционных проектах формулирование задачи (уточнение) продолжается фактически вплоть до завершения проекта и т.п. Приведем краткую характеристику каждого из этапов. 1. Постановка задачи. Постановка задачи – это один из основополагающих разделов операционного проекта, он включает в себя выявление и определение компонент модели, а также задание мер для их измерения. Задачу перед операционистами обычно ставит руководитель. Исполнителю операционного проекта при предварительном ознакомлении, информацию нужно получать не только от руководителя, но и от работников управленческого аппарата, а также от непосредственных исполнителей. В ходе ознакомления выделяются главные цели организации и возможные варианты действий при управлении, учитывая системный подход. Наиболее эффективный способ изучения того, как фактически функционирует данная система, заключается в проведении её анализа. Анализ можно выполнять следующим образом: 1. определить внешние потребности по отношению к рассматриваемой организации или желания, которые она стремится удовлетворить (определение круга потребителей и их заказы); 2. определить способ, которым данная потребность или желание доводятся до сведения организации. Такая информация может поступать в виде заказа, который направляется в отдел сбыта, здесь же определяются; – количество сотрудников в отделе сбыта; – количество счетов потребителей; – какое количество заказов поступает в единицу времени; – распределение заказов по номенклатуре и т.д. Следует заметить, что степень детализации на этом этапе исследования зависит от того, насколько эти детали существенны для постановки задачи. 3. определить способ, которым информация о потребностях регистрируется и передается в различные подразделения организации. Обычно заказ или требование размножается в нескольких экземплярах. Необходимо проследить маршруты движения каждого из этих экземпляров до конечного пункта, т.е. до момента уничтожения или направления в архив. В общем случае с информацией могут происходить две вещи: – информация может быть преобразована (кодировать, сжимать, детализировать, обобщать и т.д.), в результате этого появляется новый документ (обычно в нескольких экземплярах); движение этих производных документов также необходимо проследить до конечного пункта; 96
– в некоторых звеньях системы информация может быть использована для принятия решения или формирования распоряжений (управляющих воздействий). В этих звеньях необходимо проследить выполнение решений. В большинстве систем один из видов распоряжений в конечном итоге приводит к выдаче заказов и получению ресурсов. Необходимо проследить потоки ресурсов, учитывая в каждом звене скорость переработки, пропускную способность всех узких мест и прочие существенные параметры. В конечном счете, готовая продукция или услуги предоставляются потребителю. Таким образом, полученную информацию о функционировании системы лучше всего представить в виде набора схем. На них делаются пространные объяснения и прилагаются экземпляры документов, которые используются для передачи информации и распоряжений. После этого проводится анализ полученной схемы, в результате которого исключаются все передачи информации, не приводящие к конкретным действиям (т.е. исключается дублирование информации). Операции, проводимые над ресурсами, по возможности необходимо укрупнить в одну обобщенную операцию. Проводят геометрическое преобразование схемы, чтобы уменьшить число точек пересечения. Чем меньше точек пересечения, тем легче и проще понять характер потоков информации и ресурсов. В результате таких преобразований получают вариант схемы, который является описательной моделью операций, осуществляемых данной организацией. Схемы позволяют выявить управляемые и неуправляемые переменные, установить, кто принимает решение, а также определить, какая информация имеется у лиц, принимающих в этот момент решения. Кроме этого схема позволяет также обнаружить те звенья, в которых можно осуществлять управление, но где в настоящий момент отсутствует. После такого анализа разрабатывается целевая функция (показатель эффективности). Вид критерия зависит от наших знаний относительно результатов принятия решения, а именно три типа задач: 1. детерминированные задачи – когда каждая выбираемая руководителем стратегия приводит к единственному результату; 2. вероятностные задачи (задачи с риском) – когда руководитель полагает, что могут быть получены различные результаты, вероятности, достижения которых известны или могут быть оценены; 3. задачи в условиях неопределенности – когда руководитель не знает, какие результаты могут быть получены при выборе той или иной стратегии из рассматриваемых вариантов. Детерминированные и неопределенные задачи (полное знание и полное незнание результатов решения) можно считать частными случаями задач в условиях риска. 2. Построение математической модели изучаемой системы. Модель является математическим представлением действительности. Сложность 97
составления модели состоит в том, чтобы правильно выбрать необходимые переменные и верно определить соотношения между ними. В ИО обычно используются модели трех типов: 1. изобразительные – модели геометрического подобия (отличаются от реального масштабом)4 2. аналоговые – набор одних свойств используется для отображения совершенно иных свойств (электрическую схему можно использовать в качестве аналога гидравлической или механической системы); 3. математические (символические) – переменные и соотношения между ними обозначаются с помощью букв, чисел и других знаков. Поэтому они являются абстрактными и наиболее универсальными. При решении многих задач ИО поочередно используются модели всех трех типов. Первый и второй – для приближенных описаний объекта, которые затем уточняются на математической модели. Таким образом, в ИО обычно строятся символические модели, т.к. с ними просто (сравнительно) оперировать и они дают более точные результаты. Принципы построения математических моделей. Большинство практических моделей разрабатываются с 5-ю следующими принципами: 1. если структура системы достаточно проста и понятна сразу же после обследования, то можно непосредственно после исследования системы воспользоваться соответствующей готовой (ранее разработанной для подобной системы) моделью; 2. если структура системы (задачи) достаточно очевидна, но её математическое описание неясно, то можно иногда воспользоваться сходством данной системы с подобной системой, но имеющей более простую структуру. Тогда берется математическая модель этой простой структуры, и в неё вводятся соответствующие изменения; 3. этот принцип применяется тогда, когда структура схемы не очевидна, но её можно выяснить с помощью анализа данных о функционировании системы. В результате анализа, правда, формулируется лишь гипотеза о строении структуры. Затем эту гипотезу апробируют (проверяют), используя экспериментальные данные, но не те, на основании которых эта гипотеза строилась; 4. если достаточные описательные данные об операциях отсутствуют или их невозможно получить, а проведение экспериментов на системе недопустимы (социальные задачи, военные системы). Основанные на этом принципе операционные проекты (завершенные) пока отсутствуют, но ряд таких проектов уже находятся в стадии выполнения. Следует отметить, что при построении моделей возникают две противоречивые цели: 1. нужно разработать модель, на которой проще всего получить решение задачи; 2. нужно обеспечить максимально возможную точность решения. 98
Далеко не всегда просто найти компромисс между этими двумя противоречивыми требованиями. Для упрощения действительности можно рекомендовать следующие методы: – исключение существенных переменных (строгий анализ переменных с целью выделения главных); – изменение природы переменных (вместо переменных – константы, вместо дискретных – непрерывные); – изменение функциональных соотношений между переменными (замена нелинейных функций линейными); – модификация ограничений (вид ограничений). 3. Нахождение решения на модели. Возможны два метода получения оптимального решения (или близкого к нему) с помощью математической модели: 1. аналитический; 2. численный. 1. Аналитические решения получают в абстрактном виде (математический анализ, матричная алгебра), т.е. подстановка конкретных чисел вместо символов производится уже после того, как получено решение. Однако, в большом количестве задач, найти оптимальное решение в общем виде не удается. 2. Численные методы решения состоят, в принципе, в подборе различных численных значений управляемых переменных модели и сопоставлении полученных решений. В результате сопоставления выбирается тот набор численных значений, который дает наиболее выгодное решение. Такие процедуры могут варьироваться в широком диапазоне от простого метода проб и ошибок до сложных интерпретаций. Иногда в модели некоторые выражения не могут быть численно определены с достаточной точностью либо из-за математических, либо чисто практических причин. В таких случаях для получения решения может быть применен особый вид случайных выборок – метод Монте-Карло. 4. Проверка модели и оценка полученного на ней решения. Следует всегда помнить, что модель лишь частично отображает действительность. Модель можно считать хорошей, если, несмотря на свою неполноту, она может точно предсказывать влияние изменений в системе на общую эффективность всей системы. Решение может быть оценено путем сопоставления результатов, полученных без использования данного решения, и результатов, полученных при его применении. 5. Внедрение решений и контроль правильности решения. Решение, полученное на модели, действительно до тех пор, пока переменные остаются теми же самыми. Практически же переменные и отношения между переменными с течением времени изменяются, поэтому само решение «выходит из под контроля» и возможность управления теряется. Поэтому при построении модели необходимо учитывать возможность установки подстройки решения при изменении переменных или соотношения между ними. 99
И, наконец, решение должно быть представлено в виде ряда рабочих процедур, которые должны легко пониматься, и могли бы быть применены теми, кто отвечает за управление.
5.2.6. Некоторые принципы принятия решений в ИО В процессе принятия решений всегда возникают многочисленные трудности. Например: 1. большое число критериев, которые не всегда согласованы между собой, как, например, максимальная надежность и минимальной стоимости. Такие критерии противоречивы , поэтому возникает задача компромисса между ними. 2. высокая степень неопределенности, которая обусловлена недостаточной информацией для обоснованного принятия решения. Любой процесс принятия решения включает следующие элементы: − цель, необходимость принятия решения определяется целью или несколькими целями, которые должны быть достигнуты; − лицо, принимающее решение, должно нести ответственность за последствия этих решений; − альтернативные решения (различные варианты достижения целей); − внешняя среда (совокупность внешних факторов, влияющих на исход решения); − исходы решений, т.е. результаты, к которым они приходят; − правила выбора решений (решающие правила). Эти правила позволяют определить наиболее предпочтительное в смысле выбранного критерия решения. Решающее правило отражает информированность лица, принимающего решение, о возможных исходах выбранных решений, а также предпочтительность тех или иных исходов. Теория принятия решений использует различные процедуры, позволяющие формализовать предпочтения, т.е. выразить их в единой количественной мере. Основой для таких процедур является теория полезности, разработанная Дж. Фон Нейманом и О. Моргенштерном. Ее математическая основа – система аксиом, в которых утверждается, что существует некоторая мера ценности, позволяющая упорядочить результаты решений. Эта мера называется функцией полезности решений или полезностью. В зависимости от условий внешней среды и степени информированного лица существует следующая квалификация задач принятия решений: а) в целях неопределенности; в) в условиях риска; с) в условиях неопределенности; d) в условиях конфликтных ситуаций или противодействия (активного противника). 100
5.2.7. Принятие решений в условиях определенности Характеризуется однозначной или детерминированной связью между принятым решением и его исходом. Основная трудность – наличие критериев, по которым следует сравнивать исходы. Здесь возникает задача принятия решений при так называемом «выборном критерии». Пусть имеется совокупность критериев F1(x), F2(x), …, Fn(x), х∈Х. Пусть для определенности все Fi(x)-> max, тогда следующие случаи: 1. Если все критерии измеряются в одной шкале, то обобщенный критерий F0(x) модно записать в виде взвешенной суммы критериев n
F0 (x) = ∑ w i Fi ( x)
n
∑w
,
i =1
i =1
i
= 1 , где
wi – вес соответствующего критерия. В этом случае необходимо найти max F0 ( x) x∈ X
2. Если же критерии измеряются в различных шкалах, то необходимо привести их к одной шкале. Для этого формируют критерий n
min F0 (x) = min ∑ wi x∈ X
x∈ X
i =1
Fi ( x i∗ ) − Fi (x) , | Fi ( x i∗ ) |
Fi(xi*) ≠0, где Fi (x i *) = max Fi ( x) x∈X
Т.е. требуется свести к минимуму величину отклонения каждого критерия от его максимального значения. При таком формировании обобщенного критерия можно добиться высоких показателей по одним критериям за счет ухудшения показателей его другим. 3. Может случиться, что значения некоторых частных критериев могут оказаться меньше предельно допустимых значений Fi(x)< Fi доп.. Т.е. очень часто необходимо, чтобы выполнялось условие Fi(x)>= Fiдоп. В таком случае можно предполагать еще один способ образования обобщенного критерия. Допустим, что по каждому критерию определены значения Fi доп, i=1..n. Тогда, используя обобщенный критерий n
max F0 (x) = max ∑ w i Fi ( x) , x∈ X
x∈ X
i =1
дополняет систему ограничений соотношениями Fi(x)> = Fi доп
101
4. Бывает, что критерии упорядочены по предпочтению F1(x), F2(x), …, Fn(x), тогда задача отыскания оптимального решения может быть записана следующим образом: max F1 (x) , при F2 доп≤F2(x) x∈X
….. Fn доп≤Fn(x). 5. Предположим, что критерии F1(x), F2(x), … , Fn(x) могут принимать только два значения 0 или 1: Fi(x) = 1, если i-ая цель достигнута, 0 – иначе. Тогда обобщенный критерий может быть образован логическим объединением отдельных критериев. а) в виде конъюнкций критериев Fi, если общая цель операции состоит в выполнении всех целей одновременно, т.е. n
F0 = ∏ Fi ( x) i =1
в) в виде дизъюнкции критериев, причем общая цель достигается, если достигается хотя бы одна частная цель, т.е. n
F0 = 1 − ∏ (1 − Fi( x)) i =1
6. Методика определения полезности. Для принятия решений необходимо установить предпочтения различных критериев (меру полезности) для лица, принимающего решения. Применение теории полезности основывается на следующих аксиомах: 1. Результат хi оказывается предпочтительнее хj тогда и только тогда, когда U(хi)> = U(хj), где U(хi) и U(хj) – полезность результатов хi и хj соответственно. 2. Транзитивность. Если хi > хj , а хj> хk ,то U(хi)> U(хk). 3. Линейность. Если некоторый результат х представлен в виде x = (1 − α ) x1 + αU ( x 2 )
4. Аддитивность. Если U(х1, х2) - полезность от достижения одновременно результатов х1 и х2 , то свойство аддитивности U(х1, х2) = U(х1)+ U(х2). Аналогично, если имеется и результатов х1, х2, …, хn, достигается n
одновременно, то U ( x1 , x 2 ,..., x n ) = ∑ U ( xi ) i =1
102
Рассмотрим несколько вариантов методики определения полезности в различных случаях. Этот метод основан на допущении, что если «чистая» полезность результата х равна U, а вероятность его получения равна Р, то общая полезность результата в такой ситуации равна pU. Иначе говоря, безразлично, какой получается результат: с полезностью pU или с полезностью U при вероятности p. Это – принципиальное допущение относительно поведения человека, которое при некоторых обстоятельствах может оказаться несправедливым. I Случай, когда имеется два результата. какой результат предпочтителен для лица, 1. Определяем, принимающего решение. Пусть х1 > х2 2. Затем определяем такую вероятность α, при которой достижение результата х1 будет эквивалентно результату х2 , получаемому с вероятностью 1 (иногда из задачи, может быть на основании оценок экспертов). 3. Оцениваем соотношение между полезностями результатов х1 и х2. Для этого примем полезность U(х2) = 1. Тогда αU(х1) = U(х2), U(х1) = 1/α. II Случай, когда имеется n возможных результатов х1, х2,…, хn , между которыми установлено отношение предпочтения х1> х2>…> хn. 1. Определяем величину α1 из условия α1U(х1) = U(х2) 2. Аналогично определяем α2U(х2) = U(х3) ………. αn-1U(хn-1) = U(хn) 3. Положив полезность наименее предпочтительного варианта хn равной 1, находим U(хn) = 1, U(хn-1) = 1/αn-1, ………. U(х1) = 1/∏n-1i=1αi. III Случай, когда критерии являются качественными и результаты типа «да- нет» с независимыми полезностями. Предположим, что имеется n результатов х1,х2,…,хn.. Методика определения полезности состоит из этапов. 1. Предложить руководителю (эксперту) упорядочить результаты по предпочтительности. Пусть х1 – наиболее, хn. – наименее предпочтительный результаты. 2. Приписать полезности результата хn значение 1 и предложить руководителю приписать различные числа остальным результатам, обращающим их относительную ценность для него (не сообщать этих чисел ему на следующем шаге).
103
3. Составляют таблицу 5.2. возможных вариантов выбора ( комбинаций результатов), достигаемых одновременно, и затем устанавливают их предпочтение относительно отдельных результатов х1, х2,…, хn.: Таблица 5.2. x1 или x2
+…+ xn x1 или x2 +…+ xn-1 x1 или x2 +…+ xn-2 ………… ………. x1 или x2 +x3
x2 или x3+…+ xn x2 или x3 +…+ xn-1 x2 или x3 +…+ xn-2 ………… ………. x2 или x3 + x4
.
xn-2 или
xn-1 + xn
. . . .
Рассмотреть приведенные варианты выбора, начиная с верхней строки левого столбца. Если левая часть первого варианта выбора предпочтительнее или эквивалентна правой части, то перейти к верхней строке правого столбца (следующего). В противном случае продолжить просмотр столбца. 4. Проверить числа, полученные на шаге 2., и определить, удовлетворяют ли они неравенствам, принятым на шаге 3. Если обнаруживается несоответствие, то изменить в минимально возможной степени числовые оценки так, чтобы они удовлетворяли числовым неравенствам. Пример. Пусть эксперт упорядочивает 5 результатов x1 +…+ x5 , приписав им следующие оценки U0(x1) = 7, U0(x2) = 4, U0(x3) = 2, U0(x4) = 1.5, U0(x5) = 1. Рассмотрев возможные варианты выбора, он высказал следующее суждение относительно ценности тех или иных комбинаций результатов: 1) x1 < x2+x3+x4+ x5 5) x2 < x3+x4+ x5 2) x1 < x2+x3+x4 6) x2> x3+x4 3) x1 < x2+x3+ x5 4) x1 > x2+x3
7) x3 >x4+ x5
Необходимо произвести оценку полезности результатов так, чтобы удовлетворить всем неравенствам, начиная с последнего неравенства. Подставляем начальные оценки в неравенство 7)
U 0 ( x3 ) = 2 >/ U 0 ( x4 ) + U 0 ( x5 ) = 2.5 т.е. 7) не выполняется. Тогда изменяем полезность результата х3: U1(x3) = 3, тогда 7) будет выполнятся и проверяем неравенство 6):
U 0 ( x2 ) = 4 >/ U 1 ( x3 ) + U 0 ( x4 ) = 3 + 1.5 = 4.5
104
это неравенство тоже не выполняется. Примем U1(x2) = 5. Проверяем неравенство 5):
U 1 ( x2 ) = 5 < U 1 ( x3 ) + U 0 ( x4 ) + U 0 ( x5 ) = 3 + 1.5 + 1 = 5.5 – неравенство выполняется. Проверяем неравенство 4):
U 0 ( x1 ) = 7 >/ U 0 ( x2 ) + U 1 ( x3 ) = 5 + 3 = 8 Примем U1(x1) = 8.5 Проверяем неравенство 3):
U 1 ( x2 ) = 8.5 < U 1 ( x2 ) + U 1 ( x3 ) + U 0 ( x5 ) = 5 + 3 + 1 = 9 Проверяем неравенство 2):
8.5 = U 1 ( x1 ) < 5 + 3 + 1.5 = 9.5 Проверяем неравенство 1):
8.5 < 5 + 3 + 1.5 + 1 = 10.5 Окончательные оценки полезностей: U1(x1) = 8.5, U1(x2) = 5, U1(x3) = 3, U1(x4) = 1.5, U1(x5) = 1. Ясно, что такая методика становится практически нереализуемой при увеличении числа результатов. Для такой ситуации авторами предложена следующая модификация методики. Множество результатов разбивают на подмножества, состоящие из 5–7 результатов и имеющие один общий результат, например x1 .Затем приписывают начальные значения полезностям всех результатов, причем полезность общего результата x1 одинакова во всех подмножествах. Далее применяют изложенный способ коррекции оценок полезности независимо в каждом из подмножеств с ограничением U(x1) = const. В результате получают систему полезностей с единой мерой для всех подмножеств U(x1).
5.2.8. Принятие решений в условиях риска Такая задача возникает в том случае, когда с каждой принимаемой стратегией xi связано целое множество различных результатов 01, 02,…, 0m c известными вероятностями Р(0j/xi). 105
Формально модель задачи может быть представлена в виде следующей матрицы: i\0j
1
2
..
m
1
11
12
..
1m
1
21
22
…
2m
…
..
..
…
n
n1
n2
…
nm
Где Lij = U1(0j,xi) – полезность результата 0j при использовании решения xi. Пусть заданы условия вероятности Р(0j/xi), I=1…n, j=1…m. Вводят ожидаемую полезность для каждой стратегии m
E[U (xi )] = ∑U(0 j , хi ) ∗ P(0 j / xi ),i = 1...n j =1
Решающее правило для определения оптимальной стратегии: нужно выбрать ту стратегию, которая дает максимально ожидаемую полезность:
maxE[U(xi )] = maxE[U(xi )] xi
i =1,n
5.2.9. Принятие решений в условиях неопределенности Одним из определяющих факторов в таких задачах является внешняя среда или природа, которая может находиться в одном из состояний S1, …,Sк, которые неизвестны лицу(наблюдателю) принимающему решения. Тогда математическую модель задачи в условиях неопределенности можно сформулировать следующим образом. Имеется некоторая матрица L размерностью m × n с элементами, рассматриваемыми как полезность результата 0j при использовании стратегии xi Lij = U(0j, xi), j=1…n, I=1..m. В зависимости от состояния среды результат 0j достигается с вероятностью Р(0j/xi , Sk).
106
i\0j
1
2
..
m
1
11
12
..
1m
x1
21
22
…
2m
…
..
..
…
xn
n1
n2
…
Кроме того, наблюдателю неизвестно распределение вероятностей Р(Sk). Относительно состояния среды наблюдатель может высказать определенные гипотезы. Его предположения о вероятном состоянии среды называются субъективными вероятностями ⎯Р(Sk), к=1..к. Если бы величина Р(Sk) была известна наблюдателю, то мы бы имели задачу принятия решений в условиях риска, и в этом случае решающее правило для определения стратегии определялось бы
nm
следующим образом n
k
max∑∑U (0 j , xi ) ∗ P(0 j xi , S k )P(S k ) = maxE[U ( xi )] j =1 k =1
xi
(5.18.)
На самом деле же состояния среды неизвестны и неизвестно также распределения вероятностей Р(Sk). Вывод. Мы рассмотрели наиболее общий подход к решению задачи описания операции – построение модели, оценки ее эффективности, введение критериев эффективности. Вопросы анализа корректности модели и внедрения результатов. В дальнейшем все эти вопросы будут рассмотренны более подробно.
5.3. Основные классы задач исследования операций. Классификация по типам задач Задачи ИО по содержанию в настоящее время принято делить на 8 типов: 1. распределительные; 2. задачи управления запасами; 3. задачи замены; 4. задачи массового обслуживания; 5. состязательные; 6. задачи упорядочения; 7. задачи поиска; 8. задачи выбора оптимальных режимов движения. На каждой из них остановимся несколько подробнее. 1. Распределительные задачи. Имеется ограниченное количество ресурсов, недостаточное для выполнения всего задания наилучшим образом. Требуется эти ресурсы распределить таким образом, чтобы достичь, например, наибольшей экономической эффективности.
107
Пример. На мебельную фабрику имеется план на месяц изготовить n– сервантов, m–стульев, а ресурсы (доски, обивочный материал и т.д.) ограничены. Отсюда необходимо решить как управлять выпуском готовой продукции при ограниченном ресурсе. 2. Задача управления запасами. Для обеспечения ритмичной работы необходимо иметь определенный запас (сырья, оборудования, …), отсутствие запаса может привести к простою оборудования и, следовательно, к затратам. Однако, содержание запаса требует также определенных затрат (затрат на хранение, обслуживание и т.д.). Поэтому встает задача определить оптимальный размер запаса или в более общем случае порядок его пополнения. 3. Задачи замены оборудования состоят в определении сроков и порядка замены технических устройств с учетом их физического и морального износа из критерия минимума общих затрат. 4. Задачи массового обслуживания изучают оптимальные методы использования и характеристики систем массового обслуживания, т.е. систем, в которых время обслуживания заявки является случайной величиной, а заявки поступают в случайные моменты времени (телефонная станция, ремонтная мастерская и т.д.). Изучением функционирования таких систем занимается наука – теория массового обслуживания. 5. Состязательные задачи рассматривают две стороны, интересы которых противоположны, и исследуют вопрос об оптимальных стратегиях (т.е. методах действия) этих сторон. Такие задачи возникают, как правило, в азартных играх, конкурентной борьбе и военном деле. Такими задачами занимается специальный раздел ИО – теория игр. 6. Задачи упорядочения рассматривают выбор порядка обслуживания, при котором оптимизируется некоторый критерий (время). Примером таких задач является метод сетевого планирования – выбирается «критический путь» (минимальное время) для достижения определенной программы. 7. Задачи поиска. Эту задачу можно сформулировать таким образом: Имеются ограниченные ресурсы (времени). Требуется найти такую процедуру поиска, при которой максимизируется вероятность отыскания объекта. (Поиск необходимой книги, поиск цели в расположении противника, поиск бракованной детали в партии готовых изделий, поиск неисправности в телевизоре и т.д.). Задачи поиска в настоящее время оформляются в специальную научную дисциплину – теорию поиска. 8. Задачи выбора оптимальных режимов движения очень разнообразны. Первой задачей этого класса была задача коммивояжера (посетить все заданные точки с минимумом затрат). Коммивояжер, выходящий из какого-нибудь города, желает посетить (n–1) других городов и вернуться к исходному пункту. Известны расстояния между всеми этими городами. Требуется решить, в каком порядке он должен посещать города, не заходя дважды в один и тот же, чтобы общее пройденное расстояние было минимальным. На первый взгляд задача не такая уж сложная, однако, с увеличением числа городов растет число вариантов перебора маршрута, т.к. общее число вариантов составляет (n–1)! 108
Выводы. Были рассмотрены основные математические модели, которые в данный момент изучает теория операций. Были проиллюстрированы практические примеры задач, где применение данных моделей имеет смысл и приводит к хорошим результатам. Теория операций одна из важнейших практических наук, которая изучает планирование сложных действий. Она занимается такими вопросами как формализация самой операции, построение адекватной математической модели, нахождения критериев эффективности в рамках данной модели, решение практической задачи в рамках данной модели и адаптации результата в реальной жизни. Контрольные вопросы: 1. Дайте определение операции. 2. Назовите основные принципы принятия решения в ТО. 3. Приведите примеры задач для решения, которых может быть выбрана модель оптимальных режимов.
109
Глава 6 ОПТИМАЛЬНОЕ ПЛАНИРОВАНИЕ Часто нам надо спланировать какое-либо действие оптимальным способом. Например, при переходе через пустыню имеет смысл взять побольше воды и поменьше груза, иначе груз рискует остаться в пустыне. Но если взять только воду, то экспедиция окажется бесполезной. Задачами подобного рода занимается теория оптимального планирования.
6.1. Построение линейных оптимизационных моделей В широком классе народнохозяйственных, технических, военных и других задач показатель эффективности и ограничения – есть линейные функции параметров управления. Вычисление экстремума (максимума или минимума) линейного показателя эффективности при линейных ограничениях на переменные, подлежащие определению, составляет предмет линейного программирования. Термин «линейное программирование» не совсем удачен, т.к. под словом «программирование» обычно понимают теорию составления программ для ЭВМ. В данном же методе слово «программирование» обозначает составление методов (алгоритмов) для решения экстремальных задач.
6.1.1. Примеры задач линейного программирования 1. Задача рационального составления пищевого рациона. Необходимо составить пищевой рацион, который должен содержать: ⎫ ⎪ углеводов не меменее b2 единиц;⎬ ⎪ жиров не менее b1 единиц. ⎭
белков не менее b1 единиц;
(6.1.)
Имеется четыре вида продуктов I, II, III, IV, стоимость единицы каждого C1 , C2 , C3 , C4 соответственно. Содержание элементов (белков, углеводов, жиров) в единице каждого продукта представлено в табл. 6.1.: Таблица 6.1. Элемент I II Продукт III IV Пищевой рацион содержит не менее
110
белки
углеводы
жиры
a11 a21 a31 a41 b1
a12 a22 a32 a42 b2
a13 a23 a33 a43 b3
Стоимость единицы продукта c1 c2 c3 c4
Требуется так составить пищевой рацион, чтобы при условии (6.1.) его стоимость была минимальной. Составим математическую модель задачи: Обозначим через x j , ( j = 1, 4) количество единиц соответствующих продуктов, которые входят в рацион. Тогда, общая стоимость рациона можно выразить линейной функцией в виде: 4
L = c1 x1 + c 2 x 2 + + c 3 x 3 + c 4 x 4 = ∑ c j x j .
(6.2.)
j =1
Условия (6.1.) в принятых обозначениях получают вид трех условий неравенств: a11 x1 + a 21 x 2 + a31 x3 + a 41 x 4 ≥ b1 ⎫ ⎪ a12 x1 + a 22 x 2 + a32 x3 + a 42 x 4 ≥ b2 ⎬ a13 x1 + a 23 x 2 + a33 x3 + a 43 x 4 ≥ b3 ⎪⎭
4
или
∑a j =1
ij
x j ≥ bi , i = 1, 3.
(6.3.)
Условия (6.3.) представляют собой ограничения, накладываемые на решение. x1 ÷ x 4 Требуется: Выбрать такие значения переменных (из физического смысла)], удовлетворяющие [ x1 ≥ 0, x 2 ≥ 0, x3 ≥ 0, x 4 ≥ 0 ограничениям (6.3.), при которых линейная функция (6.2.) этих переменных обращалась бы в минимум. Поставленная задача – есть типичная задача линейного программирования. 2. Задача о загрузке станков. На фабрике имеются станки двух типов I и II в количестве M 1 , M 2 . Станки могут производить четыре вида тканей 1, 2, 3 и 4. Причем каждый тип станка может производить любой из видов тканей, но в разных количествах, как показано в табл. 6.2. Таблица 6.2. Тип станка I II План на месяц не менее Доход от 1 метра ткани
1 a11 a21
Вид ткани 2 3 a12 a13 a22 a23
4 a14 a24
b1
b2
b3
b4
c1
c2
c3
c4
Количеств о станков N1 N2
В таблице: Станок типа I производит в месяц a11 метров ткани 1, a12 метров ткани 2 и т.д. Необходимо так распределить загрузку станков, чтобы план был выполнен, и месячная прибыль фабрики была максимальна. 111
Составим математическую модель задачи. Обозначим: xij – число станков типа i , занятых производством ткани вида j.
Общая прибыль будет равна: L = c1 (a11 x11 + a 21 x 21 ) + c 2 (a12 x12 + a 22 x 22 ) + + c 3 (a13 x13 + a 23 x 23 ) + c 4 (a14 x14 + a 24 x 24 ) .
(6.4.)
Ограничения. 1. Ресурсы по станкам не должны быть превышены 4
∑x i =1
ij
≤ N i , i = 1, 2 ,
(6.5.)
т.е. сумма станков каждого типа, занятых производством всех тканей, не должна превышать наличного запаса станков. 2. Задания по ассортименту (план) должны быть выполнены (или перевыполнены): 2
∑a i =1
ij
x ij ≥ b j , j = 1, 4 .
(6.6.)
Требуется: Выбрать такие неотрицательные значения переменных x11 ÷ x 24 , удовлетворяющие линейным неравенствам (6.5.), (6.6.), при которых линейная функция (6.4.) этих переменных обращалась бы в максимум. 3. Задача о перевозках. Имеются m складов: c1 , c 2 , Κ , c m и n пунктов потребления Π 1 , Π 2 , Κ , Π n . На складах c1 , c 2 , Κ , c m имеются запасы товара в количествах a1 , a 2 , Κ , a m единиц. Пункты потребления подали заявки соответственно на b1 , b2 , Κ , bn единиц товара. Заявки выполнимы, т.е. сумма единиц товара всех заявок не больше суммы запасов товаров: n
m
j =1
i =1
∑ b j ≤ ∑ ai . Стоимость перевозки одной единицы товара со склада ci в пункт Π j равна c ij .
Требуется составить план перевозок, т.е. указать с какого склада в какие пункты, и какое количество товара нужно направлять так, чтобы заявки были выполнены, а общие расходы на все перевозки были минимальны.
112
Составим математическую модель задачи. Обозначим xij – количество единиц товара, направляемое со склада ci в пункт Π j (если с этого склада в этот пункт товары не направляются, то xij =0). Общая стоимость перевозок будет равна: m
n
L = ∑∑ cij xij . i =1 j =1
(6.7.)
Введем следующие ограничения. 1. Емкость складов не должна быть превышена, т.е. общее количество товара, взятое с каждого склада, не должно превышать имеющихся на нем запасов: n
∑x j =1
ij
≤ ai , i = 1, m .
(6.8.)
2. Заявки, поданные пунктами потребления, должны быть выполнены: m
∑x i =1
ij
= b j , j = 1, n .
(6.9.)
Задача. Требуется так выбрать план перевозок xij (неотрицательные значения – по физическому условию задачи), чтобы при ограничениях (6.8) и (6.9.) стоимость этих перевозок (6.7.) была минимальна. Особенность этой задачи состоит в том, что ограничения в ней имеют вид линейных неравенств (6.8.) и линейных равенств (6.9.). Если в задачах о перевозках все ограничения представляются в виде равенств, то такие задачи о перевозках называют транспортными задачами. В дальнейших лекциях будут рассмотрены методы перехода от ограничений-неравенств к ограничениям-равенствам. 4. Задача об электрификации района. Необходимо выбрать такой набор типов электростанций (тепловых, гидро-, атомных и т.п.) для района, способных удовлетворять потребности района при минимальных затратах. Любой набор станций, составляющих энергетическую систему района должен обеспечить: – требуемое значение гарантированной мощности не менее A ; – требуемое значение пиковой мощности не менее B ; – требуемое значение годовой выработки энергии не менее C ; – затраты на капитальное строительство не более D . Величины A, B, C , D должны определяться перспективным планом развития района. Составим математическую модель задачи. 113
Обозначим xi – число станций i -го типа; ai – гарантированная мощность, которую обеспечивает одна станция i -го типа; bi – пиковая мощность одной станции i -го типа; ci – годовая выработка энергии одной станцией i -го типа; d i – затраты на строительство одной станции i -го типа; fi – суммарные годовые эксплуатационные затраты (обслуживание и управление) на одну станцию i -го типа. При принятых обозначениях, эксплуатационные расходы энергосистемы будут равны: n
L = ∑ f i xi . i =1
(6.10.)
Ограничения: n
∑a x
i
≥ A;
(6.11.)
∑b x
i
≥ B;
(6.12.)
∑c x
i
≥ C;
(6.13.)
i
< D.
(6.14.)
i =1 n
i =1 n i =1 n
i
i
i
∑d x i =1
i
Задача: Требуется так выбрать энергосистему x1 , x2 , Κ , xn (неотрицательные значения xi ≥ 0 ), чтобы при ограничениях (6.11.) ÷ (6.14.) суммарные годовые расходы всех станций энергосистемы на обслуживание и управление (6.10.) были минимальны. Итак, мы рассмотрели несколько задач исследования операций из различных областей практики, которые укладываются в общий класс задач линейного программирования. Математический аппарат линейного программирования предназначен специально для решения такого класса задач. Возникает, естественно, вопрос: в чем же состоит сложность поставленных задач? Почему их решение требует создания специального метода? Действительно, если поступать стандартно: продифференцировать L по аргументам x1 , x2 ,Κ , затем приравнять производные нулю и решать полученную систему уравнений, то, т.к. функция L линейна, производные от неё по всем аргументам постоянны и нигде в нуль не обращаются. Экстремум функции L , если он существует, достигается всегда на границе области возможных значений x1 , x2 ,Κ , т.е. там, где действуют ограничения.
114
Метод линейного программирования дает возможность построить такие схемы поиска оптимального решения, которые позволяют в кратчайшие сроки (не перебирая всех вариантов) найти границу возможных решений.
6.1.2. Алгебраическая формулировка задачи линейного программирования в общем виде Общая задача линейного программирования формулируется следующим образом. Требуется найти максимум (или минимум) линейной функции n переменных n
L = L( x1 , x2 , Κ , x n ) = ∑ c j x j j =1
(6.15.)
при ограничениях, наложенных на переменные x1 , x2 , Κ , xn , вида n
∑a
x j = bi , i = 1, k ,
(6.16.)
x j ≤ bi , i = k + 1, m ,
(6.17.)
j = 1, n1 , n1 ≤ n .
(6.18.)
i =1
n
∑a j =1
ij
xj ≥ 0
ij
При ограничениях (6.16.), (6.17.) и (6.18.), поставленная задача оптимизации может принимать три случая: 1. условия (6.16.)÷(6.18.) противоречивы, т.е. не существует значений переменных x1 , x2 , Κ , xn , которые удовлетворяли бы всем условиям (6.16.)÷(6.18.). Задача не имеет ни одного допустимого решения; 2. условия (6.16.)÷(6.18.) совместны, т.е. область, определяемая ими, ограничена тогда возможно: 2.1. единственное допустимое оптимальное решение; 2.2. несколько допустимых оптимальных решений; 3. условия (6.2.)÷(6.4.) непротиворечивы, но область, определяемая ими неограниченна, т.е. значение целевой функции может быть сделано неограниченно большим для задач максимизации и сколь угодно малым для задач минимизации. В ранее рассмотренных примерах запись критерия эффективности и, особенно, ограничений заметно различается в разных задачах. В одних – линейные ограничения имели вид неравенства, в других – равенства, в третьих – тех и других. Такое различие в записи условий задач затрудняет их решение, поэтому целесообразно любую запись сводить к одной форме – канонической.
115
6.1.3. Каноническая форма задач линейного программирования Задача линейного программирования записана в канонической форме, если она формулируется таким образом: найти минимум линейной формы n
L = ∑c j x j
(6.19.)
x j = bi , i = 1, m ,
(6.20.)
j =1
при условиях: n
∑a j =1
ij
x j ≥ 0, j = 1, n .
(6.21.)
Встает вопрос: как от общей записи задачи (6.15)÷(6.19) перейти к канонической форме? Из условий (6.15.)÷(6.19.) видно, что для перехода к канонической форме необходимо от ограничений-неравенств (6.18.) перейти к ограничениямравенствам. В условия (6.3.) введем дополнительные неотрицательные переменные x j ≥ 0 , для j = n + 1, Κ , n + (m − k ) . Тогда ограничения (6.3) можно представить в виде равенств: a k +1,1 x1 + a k +1, 2 x 2 + Κ + a k +1,n x n + x n +1 = bk +1 ,
⎫ ⎪ + x n + 2 = bk + 2 , a k + 2,1 x1 + a k + 2, 2 x 2 + Κ + a k + 2,n x n ⎪ ⎬ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ ⎪ + x n + ( m − k ) = bm .⎪⎭ a m ,1 x1 + a m 2 x 2 + Κ + a mn x n
(6.22.)
В линейную форму эти дополнительные переменные входят с нулевыми коэффициентами. 1. Если n1 = n , ( n1 – число неотрицательных переменных в общей задаче ЛП), то общая задача уже сведена к канонической форме. 2. Если n1 < n : 2.1. Если структуру условий задачи нежелательно изменять, то все x j ( j = n1 + 1, Κ , n) необходимо заменить разностью неотрицательных переменных x′j и x′j′ : x j = x ′j − x ′j′ ,
(6.23.)
где x′j ≥ 0; x′j′ ≥ 0 . Такая замена (6.20.) приводит к существенному росту общего числа переменных. 116
2.2. Если структуру условий задачи можно изменять, то переменные x j ( j = n1 + 1, Κ , n) выражаются через неотрицательные переменные задачи. Затем полученные выражения подставляются в линейную форму (6.16.) и в условия не использованные в вычислениях. В этом случае может быть: – задача линейного программирования неразрешима; – общее количество переменных и ограничений сокращается. Пример: Найти минимум линейной формы L = x1 + x 2 + cx3 + x 4 .
(6.24.)
При условиях: a x1 + x 2 + x3 − x 4 + 4 x5 = 4,⎫ ⎬ x1 + a x 2 + x3 − 2 x 4 − 3 x5 = 3, ⎭ x1 + x 2 − 2 x3 − 3 x 4 + 2 x5 ≤ 2,⎫ ⎬ x1 + x 2 + ax3 − 4 x 4 − 4 x5 ≤ 1, ⎭
x 4 ≥ 0, x5 ≥ 0 .
(6.25.) (6.26.) (6.27.)
Для приведения (6.26.) к системе равенств добавим две дополнительные переменные: x6 ≥ 0, x7 ≥ 0 . Тогда условия (6.26.) можно переписать: x1 + x 2 − 2 x3 − 3 x 4 + 2 x5 + x 6 = 2,⎫ ⎬ x1 + x 2 + ax3 − 4 x 4 − 4 x5 + x7 = 1. ⎭
(6.28.)
Если бы все переменные были связаны требованием неотрицательности, то замена (6.26.) на (6.28.) соответствовали бы канонической форме записи. Так как в нашем примере x1 , x 2 , x3 не ограничены требованиями неотрицательности, попробуем связать их с остальными. 1. Решим уравнения (6.25.) и второе уравнение (6.28.) относительно x1 , x 2 , x3 . Определитель, составленный из коэффициентов при x1 , x 2 , x3 a 1 1 ∆ = 1 a 1 = a 3 − 3a + 2 = (a − 1) 2 (a + 2) . 1 1 a
(6.29.)
При a ≠ 1 и a ≠ −2 можно выразить x1 , x 2 , x3 через другие неотрицательные переменные. Принимаем a = 0 и вычислим x1 , x 2 , x3 :
117
∆1 5 11 1 ⎫ x 4 + x5 − x7 , ⎪ ; x1 = ∆ 2 2 2 ∆2 3 3 1 ⎪⎪ x2 = ; x 2 = 1 + x 4 − x 5 − x 7 ,⎬ . ∆ 2 2 2 ⎪ ∆3 1 5 1 ⎪ x3 = ; x3 = 3 − x 4 − x5 + x 7 . ∆ 2 2 2 ⎪⎭ x1 =
(6.30.)
Подставляем (6.30.) в (6.24.) и первое уравнение (6.28.), тогда получим 10 − c 8 − 5c 2−c x4 + x5 + x7 , 2 2 2 2 x 4 + 11x5 + x6 − 2 x7 = 7 ,
L = (1 + 3c) +
x 4 ≥ 0, x5 ≥ 0, x6 ≥ 0, x7 ≥ 0 .
(6.31.) (6.32.) (6.33.)
Постоянное слагаемое (1 + 3c) в линейной форме (6.31.) можно отбросить, т.к. оно не влияет на выбор экстремума L . Получили каноническую форму (6.31.)÷(6.33.) задачи. 2. Рассмотрим случай, когда a = −2 , тогда переменные x1 , x 2 , x3 нельзя выразить через неотрицательные переменные, как ранее. Выразим x1 и x 2 из уравнений (6.25.) 11 4 5 ⎫ + x3 − x 4 + x5 , ⎪ 3 3 3 10 5 2 ⎬ x 2 = − + x3 − x 4 − x5 .⎪ 3 3 3 ⎭ x1 = −
(6.34.)
Подставим (6.34.) в линейную форму (6.24.) и условия (6.28.), получим L = −7 + ( 2 + c ) x 3 − 5 x 4 + x 5 , ⎫ ⎪ − 6 x 4 + 3 x5 + x6 = 9, ⎪ ⎬ − 7 x 4 − 3 x5 + x7 = 8, ⎪ x 4 ≥ 0, x5 ≥ 0, x 6 ≥ 0, x7 ≥ 0.⎪⎭
(6.35.)
Переменная x3 в условиях-ограничениях отсутствует, следовательно, при c ≠ −2 задача линейного программирования не будет иметь ограниченного решения. Если c = −2 , то система (6.35.) представляет собой каноническую форму разрешимой задачи. Следует отметить, что рассмотренный порядок вычислений может быть использован во всех случаях, когда требуется свести задачу линейного программирования к канонической форме.
118
6.1.4. Существование допустимых решений канонической формы задач ЛП Здесь достаточно рассмотреть только систему уравнений (6.20.) и (6.21.), т.к. область допустимых решений определяется только ими и не зависит от целевой функции (6.19.). Необходимо установить: существуют ли неотрицательные решения (6.21.), удовлетворяющие системе уравнений (6.20.). Этот вопрос рассматривается в линейной алгебре: Матрицей системы линейных уравнений (6.20.) называется таблица, составленная из коэффициентов при x j , j = 1, n : a11 a 21
a12 a 22
Κ Κ
a1n a2n
Κ
Κ
Κ
Κ
a m1
am 2 Κ
(6.36.)
a mn
Рангом матрицы называется наибольший порядок отличного от нуля определителя, который можно получить, вычеркивая из матрицы какие-то строки и какие-то столбцы. Расширенной матрицей системы (6.20.) называется та же матрица (6.36.), дополненная столбцом свободных членов bi , i = 1, m : a11
a12
Κ
a1n
b1
a 21
a 22
Κ
a2n
b2
Κ a m1
Κ Κ am2 Κ
Κ a mn
Κ bm
(6.37.)
Из линейной алгебры известно, что для совместности системы линейных уравнений (6.20.) необходимо и достаточно, чтобы ранг матрицы системы был равен рангу её расширенной матрицы. Пример: Имеем систему двух уравнений с тремя неизвестными x1 , x 2 , x3 : 2 x1 − x 2 + x3 = −4, 4 x1 − 2 x 2 + 2 x3 = 1.
119
Матрица системы
Расширенная матрица
2 −1 1 . 4 −2 2
2 −1 1 − 4 . 4 −2 2 1
Определитель второго порядка
Определитель второго порядка
⎫ 2 −1 = −4 + 4 = 0,⎪ 4 −2 ⎪ ⎪ 2 1 ∆= = 4 − 4 = 0, ⎬ 4 2 ⎪ −1 1 ⎪ ∆= = −2 + 2 = 0.⎪ −2 2 ⎭
2 −4 = 2 + 16 = 18 ≠ 0 , 4 1
∆=
следовательно
ранг расширенной матрицы rp = 2 .
Все возможные определители второго порядка равны нулю, следовательно, ранг матрицы системы rc = 1 . Итак, ранг расширенной матрицы не равен рангу матрицы системы, следовательно, система уравнений несовместна. Таким образом, если система уравнений (6.20.) совместна, то матрица системы и её расширенная матрица имеют один и тот же ранг r , который называется рангом системы. Ранг системы есть не что иное, как число линейно независимых уравнений среди наложенных ограничений. Очевидно, что r ≤ m [число уравнений системы (6.20.)]; r ≤ n [число переменных уравнения (6.19.)].
Структура задачи линейного программирования существенно зависит от ранга системы ограничений (6.20.). 1. Если r = n , то и определитель, составленный из коэффициентов n линейно независимых уравнений, не равен нулю. Из алгебры известно, что в этом случае система линейно независимых уравнений имеет единственное решение. Если при этом все x j ≥ 0 , то найденное решение допустимо и оптимально, т.к. оно единственно. Если в решении хотя бы одна из величин отрицательна, то это означает, что полученное решение недопустимо и значит, каноническая форма решения не имеет. 2. Если r < n , тогда (n − r ) переменным можно придавать произвольные значения (свободные переменные), а остальные r переменных выразятся через них (базисные переменные). В дальнейшем для простоты, будем считать, что ранг системы r будет равен числу уравнений m , т.е. все уравнения системы (6.20.) линейно независимы. Пример. Имеется два уравнения с четырьмя неизвестными: 120
2 x1 − x 2 + x3 − x 4 = 1, ⎫ ⎬ − x1 + x 2 − 2 x3 + x 4 = 2.⎭
(6.38.)
Ранг системы: ⎫ 2 −1 = 2 − 1 = 1 ≠ 0, ⎪ −1 1 ⎪ ⎬ r = 2, 2 1 = 4 − 1 = 3 ≠ 0,⎪ ⎪⎭ −1 − 2
следовательно, уравнения линейно независимы. Выбираем в качестве базисных переменных, например, x1 и x 2 , т.к. r = 2 . Тогда свободные переменные будут x3 и x 4 , т.к. n − r = 2 . Выразим из (6.38.) базисные переменные через свободные: x1 = 3 + x3 , ⎫ ⎬ x 2 = 5 + 3 x3 − x 4 .⎭
(6.39.)
Таким образом, базисные переменные выражены через свободные. Свободным переменным x3 и x 4 можно придавать произвольные значения, определяя из (6.39.) x1 и x 2 , которые будут удовлетворять (6.38.). Итак, если r = m < n, то система линейных уравнений (6.5.) имеет бесчисленное множество решений. Если существуют какие-то решения, для которых все x j ≥ 0, j = 1, n , то каждое из этих решений допустимо. Вывод. Мы формализовали задачу оптимального планирования. Большая часть задач оптимального планирования может быть сведена к задаче линейного программирования. Также были проиллюстрированы некоторые способы решения задач линейного программирования.
6.2. Алгебраическое и геометрическое представление линейных оптимизационных моделей Рассмотрим графическую интерпретацию задач ЛП. 1. Рассмотрим случай, когда n − m = 2 , т.е. число переменных n на два больше, чем число независимых уравнений. Тогда, т.к. n − m = 2 , выберем две свободные переменные, например x1 и x 2 , а остальные m переменных сделаем базисными и выразим их через свободные. Покажем геометрическую интерпретацию на числовом примере.
121
Пример. Найти оптимальное решение, которое обращает в максимум (минимум) линейную функцию семи переменных: L = x1 − x 2 + 2 x3 − x 4 − 3x5 + x6 − 2 x 7
(6.40.)
при пяти уравнениях-ограничениях: x1 − x2 + x3 = 4; ⎫ 2 x1 − x2 − x3 − x4 = −5;⎪⎪ ⎪ x1 + x2 − x5 = −4;⎬ x2 + x6 = 5; ⎪ ⎪ 2 x1 − 2 x2 − x6 + 2 x7 = 7; ⎪⎭
(6.41.)
xi ≥ 0, i = 1, 7.
(6.42.) Выбираем в качестве свободных переменных x1 , x 2 и выразим через них остальные (базисные) переменные x3 ÷ x7 . Из 1-го уравнения (6.41.) Из 3-го уравнения (6.41.) Из 4-го уравнения (6.41.)
x3 = 4 − x1 + x 2 . x6 = 5 − x 2 .
(6.43.) (6.44.) (6.45.)
Подставляя x3 (6.43.) во 2-е уравнение (6.41.) x 4 = 1 + 3 x1 − 2 x 2 .
(6.46.)
x5 = 4 + x1 + x 2 .
x
3
x4 = 0
x1=0
x7 = 0
x2 7
= 0
Подставляя x6 (6.45.) в 5-е уравнение (6.41.) x7 = 6 − x1 + 0,5 x 2 . (6.47.) Так как по условию (6.42.) все переменные должны быть неотрицательны, то:
6
B
5
m in
4 3
ОДР
2
m ax
1
x2=0
A(0,0) -5
-4
-3
-2
-1
x6=0
1
2
3
4
5
6
7
8
9
10
x1
-1 -2 -3 -4 -5
x5 = 0
-6 -7 -8 -9 -10 -11 -12
Рис.4
122
Рис. 6.4 Графическое представление ЛП
x1 ≥ 0; x2 x3 x4 x5 x6 x7
⎫ ⎪ ≥ 0; ⎪ = 4 − x1 + x 2 ≥ 0; ⎪ ⎪ = 1 + 3 x1 − 2 x 2 ≥ 0; ⎬ = 4 + x1 + x 2 ≥ 0; ⎪ ⎪ = 5 − x 2 ≥ 0; ⎪ ⎪ = 6 − x1 + 0,5 x 2 ≥ 0.⎭
(6.48.)
На графике (рис. 6.4.) представлены семь прямых, построенных по уравнениям (6.48.) для крайнего значения, равного нулю. Штриховка прямой проводится с той стороны, где xi > 0 , т.е. там, где выполняется условие неотрицательности переменной, т.е. выделяется «допустимая полуплоскость». Часть плоскости, принадлежащая одновременно всем «допустимым полуплоскостям», есть область допустимых решений (ОДР). Теперь необходимо из числа допустимых решений найти оптимальное, которое обращает в максимум (минимум) линейную функцию (6.40.). Для графического решения необходимо базисные переменные (6.48.) подставить в линейную форму (6.40.), т.е. выразить целевую функцию через свободные переменные. После приведения подобных членов, получим L = −12 − 5 x1 − 2 x 2 .
(6.49.)
В уравнении (6.49.) свободный член, не зависящий от переменных x1 и x 2 можно отбросить, т.к. максимум достигается при одних и тех же значениях x1 и x 2 у функции L ′ = −5 x1 − 2 x 2 .
(6.50.)
Строим основную прямую (6.50.) на графике: например задаёмся L ′ = 0 x1 x2
0 0
2 –5
–2 5
Перемещая основную прямую параллельно самой себе в сторону возрастания L ′ , получаем в точке A наибольшее значение L′ , где x1* = x 2* = 0 . Минимум L ′ в точке B , координаты которой определяются точкой пересечения прямых x6 = 0 и x7 = 0 . Решая эти уравнения, получим координаты точки B . 5 − x 2 = 0,
⎫ ⎬ 6 − x1 + 0,5 x 2 = 0.⎭
→
x1* = 8,5, x 2* = 5.
123
Подставляя x1* и x 2* в уравнения (6.48.), находим оптимальные значения для базисных переменных: min
max x = 4; x = 1; x = 4; x = 5; x = 6.
x = 0,5;
Подставляя их в (6.40.), получим:
x = 0.
* 3
* 4
* 5
* 6
* 7
L = 2 ⋅ 4 − 1 − 3 ⋅ 4 + 5 − 2 ⋅ 6 = −12
То же самое имеем и использовании формулы (6.49.): L* = −12 .
* 3 * 7
x = 16,5; * 4
x5* = 17,5;
x6* = 0;
Подставляя их в (6.40.), получим: при L = 8,5 − 5 + 2 ⋅ 0,5 − 16,5 − 3 ⋅ 17,5 + 0 − 0 = −64,5 То же самое получим при подстановке в формулу (6.49.): L* = −12 − 5 ⋅ 8,5 − 2 ⋅ 5 = −64,5 .
Следовательно: 1. оптимальное решение, если оно существует, всегда лежит на границе ОДР; 2. оптимальных решений может быть бесчисленное множество, если основная прямая параллельна ограничивающей прямой, где L достигает максимума (минимума), т.е. он достигается не в одной точке, а на всей этой ограничивающей прямой (рис. 6.5.); x1
ОДР max
x2
Рис. 6.5. Оптимальные решения для базисных переменных
3. оптимальных решений не существует, если ОДР неограничена в направлении максимизации (минимизации) L (рис. 6.6.); x2
ОДР max
x1
Рис. 6.6. Оптимальные решения, если ОДР неограничена
4. оптимальное решение всегда достигается в одной из вершин многоугольника ОДР. Решение, расположенное в одной из вершин ОДР, называется опорным решением, а сама вершина – опорной точкой; 124
5. для определения оптимального решения достаточно перебрать все вершины ОДР и выбрать ту, где функция L достигает максимума (минимума); 6. если число свободных переменных равно 2, а число базисных m и оптимальное решение существует, то оно всегда достигается в точке, где по крайней мере две из переменных обращаются в нуль (в нашем примере: на максимум – x1* = x 2* = 0 , на минимум – x6* = x7* = 0 ); 7. если в опорной точке пересекаются более двух ограничивающих прямых, то такой случай называют вырожденным, и тогда в оптимальном решении обращаются в нуль не две, а столько переменных, сколько ограничивающих прямых пересекаются в опорной точке. 2. Если n − m = 3 , то геометрические построения необходимо производить в трехмерном пространстве. Ограничения представляются в виде плоскостей. ОДР будет представлять собой выпуклый многогранник, ограниченный этими плоскостями. Роль «основной прямой» в этом случае будет выполнять «основная плоскость». На этом мы останавливаться не будем, т.к. все выводы предыдущего случая аналогичны, но менее обозримы геометрически. Вывод. Мы рассмотрели простейший способ решения задач линейного программирования, применимый в случае 2 независимых переменных. Тогда задача сводится к решению плоской геометрической задачи.
6.3. Аналитические методы решения задач ЛП Для n − m = 3 геометрическая интерпретация задач ЛП уже (как мы видели) затруднительна и непригодна для n − m > 3 . Для задач такого типа разработаны аналитические методы: 1. метод последовательного улучшения решения; 2. метод последовательного уточнения оценок; 3. метод сокращения невязок; 4. распределительный метод; 5. метод потенциалов; 6. венгерский метод и др. Содержание всех названных методов одно и то же, а именно, оптимальное решение ищется путем последовательных приближений. Вначале задаются некоторым допустимым решением, а затем изменяют его в направлении приближения к оптимальному. Отличие этих методов заключается: – вычислительными алгоритмами; – областью применения.
125
Первые три метода являются универсальными, остальные же предназначены для определенных классов задач. Рассмотрим более подробно универсальный метод – метод последовательного улучшения решения.
6.3.1. Метод последовательного улучшения решения (симплекс-метод) Основы метода были сформулированы в 1947 г. Данцигом под названием симплексного метода (simplex (лат.) – простой). Идея метода содержит три существенных момента: 1. указывается способ вычисления исходного (опорного) решения; 2. устанавливается признак, который позволяет проверить, является ли выбранное решение оптимальным; 3. дается способ перехода от выбранного неоптимального решения к другому, более близкому к искомому оптимальному решению. Допустим, в задаче ЛП имеется n – переменных и m – независимых линейных ограничений. Причем n − m = k . Выберем k -переменных в качестве свободных в порядке возрастания, т.е. x1 , x 2 , Κ , x k , а остальные m – базисных переменных ( x k +1 , x k + 2 , Κ , x n ) выразим, как и ранее, через свободные. Получим: x k +1 = α k +1,1 x1 + α k +1, 2 x 2 + Κ + α k +1,k x k + β k +1 , ⎫ x k + 2 = α k + 2,1 x1 + α k + 2, 2 x 2 + Κ + α k + 2,k x k + β k + 2 ,⎪⎪ ⎬ ......................... ⎪ x n = α n1 x1 + α n 2 x 2 + Κ + α nk x k + β n . ⎪⎭
(6.51.)
Из предыдущих выводов известно, что оптимальное решение (если оно существует) достигается в одной из опорных точек (вершин ОДР), где по крайней мере k = n − m переменных равны нулю. Положим, в качестве первого шага решения, что все свободные переменные равны нулю: x1 = 0; x 2 = 0; Κ ; x k = 0 .
(6.52.)
Подставляя (6.52.) в (6.51.), имеем x k +1 = β k +1 ; x k + 2 = β k + 2 ; Κ ; x n = β n .
(6.53.)
Решение (6.53.) может быть допустимо, если все свободные члены β k +1 ; β k + 2 ; Κ ; β n – неотрицательны и тогда будем иметь опорное решение. Проверяем, будет ли это решение оптимальным. Для этого подставляем (6.52.) в минимизированную линейную функцию L , выраженную через свободные переменные x1 , x 2 , Κ , x k . 126
L = γ 0 + γ 1 x1 + γ 2 x 2 + Κ + γ k x k ,
(6.54.)
получаем при подстановке (6.52.) в (6.54.) L =γ0.
(6.55.)
Можно ли улучшить решение, т.е. уменьшить функцию L , увеличивая какие-нибудь из переменных x1 , x 2 , Κ , x k ?: 1. если все коэффициенты γ 1 , γ 2 , Κ , γ k в уравнении (6.54.) положительны, то увеличивать переменные x1 , x 2 , Κ , x k нельзя, т.к. L будет возрастать, следовательно, найденное опорное решение будет оптимальным; 2. если среди коэффициентов γ 1 , γ 2 , Κ , γ k есть отрицательные, то увеличивая те переменные x1 , x 2 , Κ , x k , коэффициенты при которых отрицательны, можно улучшить решение, т.е. уменьшить L . Предположим, что коэффициент γ 1 в уравнении (6.54.) отрицателен. Тогда имеет смысл увеличить переменную x1 , однако увеличивать её необходимо таким образом, чтобы базисные переменные x k +1 , x k + 2 , Κ , x n , выраженные через x1 из системы (6.51.) не стали отрицательными: 1. если хотя бы один коэффициент при x1 в уравнениях (6.51.) отрицателен, то увеличивать x1 можно только до определенной величины; 2. если в (6.51.) нет уравнения с отрицательным коэффициентом при переменной x1 , то величину x1 можно увеличивать беспредельно, следовательно, линейная функция L не ограничена и оптимального решения не существует. Допустим, что в некоторых уравнениях системы (6.51.) коэффициенты перед x1 отрицательны. Выберем из них то уравнение, в котором отношение свободного члена к отрицательному коэффициенту перед x1 наименьшее по абсолютной величине, например: xl = α l1 x1 + α l 2 x 2 + Κ + α lk x k + β l ,
(6.56.)
в нем β l ≥ 0, α l1 < 0 . Из уравнения (6.56.) видно, что при подстановке в него (6.52.), переменная xl остается неотрицательной только при x1 ≤
βl . α l1
Далее нужно «переразрешить» систему уравнений (6.51.), вводя в число свободных переменных, переменную xl , а бывшую свободную переменную x1 переводя в число базисных переменных. 127
Аналогично «переразрешается» и линейная форма (6.54.). Вторым шагом решения можно снова предположить, что все новые свободные переменные x 2 , x3 , Κ , x k , xl равны нулю, получим второе опорное решение: 1. если все коэффициенты при новой линейной форме L положительны, то найденное решение оптимально (минимально); 2. если среди коэффициентов при переменных новой линейной формы есть отрицательные, то процедура улучшения решения продолжается аналогично рассказанному до тех пор, пока не будет найдено оптимальное решение, т.е. L → min .
6.3.2. Пример определения решения симплексным методом Определить минимум линейной функции L = 5 x1 − 2 x3 .
(6.57.)
При условиях ограничениях: x5 = 5 x1 + x 2 − 2 x3 + 2;⎫ ⎪ x6 = x1 − x3 − x 4 + 5; ⎬ ⎪ x7 = 3 x1 − 5 x 4 + 7, ⎭
(6.58.)
которые приведены к форме, т.к. n − m = 7 − 3 = 4 , где в качестве свободных переменных выбраны x1 , x 2 , x3 и x 4 и в качестве базисных x5 , x6 , x7 . Положим, в качестве первого шага решения, свободные переменные равными нулю x1 = x 2 = x3 = x 4 = 0
(6.59.)
и подставим (6.59.) в систему уравнений (6.58.), получим x5 = 2; x 6 = 5; x7 = 7 .
Подставляя (6.59) в линейную форму (6.57) имеем L =0.
(6.60.)
(6.61.)
Заметим, что решение (6.59.), (6.60.) является опорным, т.к. все свободные члены в (6.58.) неотрицательны. Если хотя бы один свободный член в (6.58.) был отрицательным, то необходимо было бы менять местами некоторые базисные и свободные переменные до тех пор, пока свободные члены в уравнениях вида (6.58.) не станут неотрицательными.
128
Решение (6.59.), (6.60.) не является оптимальным, т.к. в выражении (6.57.) коэффициент при x3 отрицателен, следовательно, увеличивая x3 можно уменьшить L . Переменная x3 входит в 1-е и 2-е уравнение (6.58.), причём коэффициенты перед переменной в обоих уравнениях отрицательны. Выбираем из этих двух уравнений то, в котором отношение свободного члена к отрицательному коэффициенту перед x3 меньше по абсолютной величине, т.е. x5 = 5 x1 + x 2 − 2 x3 + 2 .
(6.62.)
Разрешаем уравнение (6.62) относительно x3 x3 =
5 1 1 x1 + x 2 − x5 + 1 . 2 2 2
(6.63.)
Подставляем (6.63.) во второе уравнение (6.58.): 3 1 1 x6 = − x1 − x 2 + x5 − x 4 + 4 . 2 2 2
(6.64.)
Третье уравнение (6.58.) оставляем без изменения, т.к. переменная x3 в него не входит x7 = 3x1 − 5 x 4 + 7 . (6.65.) Таким образом мы привели систему (6.58.) к системе (6.63.)÷(6.64.) со свободными переменными x1 , x2 , x5 , x4 и базисными x3 , x6 , x7 . Выразим (6.57.) через новые свободные переменные L = 5 x1 − 5 x1 − x 2 + x5 − 2 = − x 2 + x5 − 2 .
(6.66.)
В качестве второго шага решения, положим все свободные переменные равными нулю x1 = x 2 = x5 = x 4 = 0 . (6.67.) Подставим (6.67.) в (6.63.), (6.64.) и (6.65.), получим опорное решение x3 = 1; x6 = 4; x7 = 7 .
(6.68.)
Подставляя (6.67.) в (6.66.), получим L = −2 .
(6.69.) 129
Это второе решение лучше, чем прежнее L = 0 . Однако это решение также не оптимально, т.к. коэффициент перед переменной x 2 в (6.58.) отрицателен. В уравнении же (6.64.) коэффициент перед x 2 отрицателен, поэтому обменяем местами переменные x 2 и x6 ( x 2 – выведем из свободных в базисную переменную, x6 – наоборот). x 2 = −3 x1 − 2 x6 + x5 − 2 x 4 + 8;⎫ ⎪ x3 = x1 − x6 − x 4 + 5; ⎬ ⎪ x7 = 3 x1 − 5 x 4 + 7. ⎭
(6.70.)
Выразим L (6.66.) через новые свободные переменные L = 3 x1 + 2 x6 − x5 + 2 x 4 − 8 + x5 − 2 = 3x1 + 2 x6 + 2 x 4 − 10 .
(6.71.)
Третий шаг, полагаем все свободные переменные равными нулю: x1 = x6 = x5 = x 4 = 0 .
(6.72.)
Подставляя (6.72.) в линейную форму (6.71.), получим L* = −10 .
(6.73.) Это решение (6.73.) является оптимальным, т.к. коэффициенты при свободных переменных в (6.71.) являются положительными. Итак, оптимальное решение определяется подстановкой (6.72.) в (6.70.): x1* = 0; x 2* = 8; x3* = 5; x 4* = 0; x5* = 0; x6* = 0; x7* = 7 .
(6.74.)
Таким образом, симплекс-метод заключается в переходе от одного допустимого решения к другому путем замены одной группы базисных переменных другой. Каждый такой переход сопровождается уменьшением критерия эффективности. Выводы. Здесь мы привели некоторые методы решения задач в случае, когда число независимых переменных превышает 2. Теория оптимального планирования играет важную роль в решении практических повседневных задач. Многие из ее задач могут быть сведены к задачам линейного программирования, для которых в свою очередь созданы разнообразные методы решения. Контрольные вопросы: 1. Дайте определение оптимального планирования. 2. Когда применим геометрический способ решения на плоскости? 3. Объясните смысл симплекс-метода. 130
Глава 7 СЕТЕВОЕ ПЛАНИРОВАНИЕ И УПРАВЛЕНИЕ Зачастую сложную задачу, возможно, решать не только последовательно, но и делая некоторые действия параллельно. Например, пока не замешано тесто, лепить пироги смысла не имеет. И при этом можно при постройке дому переносить кирпичи и готовить раствор в одно и то же время. В более сложных операциях возможны очень замысловатые структуры действий, которые называются сетевыми графиками.
7.1. Введение в сетевое планирование 7.1.1. Метод сетевого планирования и управления Метод сетевого планирования и управления является методом решения задач исследования операций, в которых необходимо оптимально распределить сложные комплексы работ (например, строительство большого промышленного объекта, выполнение сложного проекта и т.п.). Метод, система ПЕРТ – оценка программ и способ проверки, возник в 1958 г. в США, затем быстро был признан во всём мире, в том числе и в СССР. Методы СПУ используются при планировании сложных комплексных проектов, например, таких как: − строительство и реконструкция каких-либо объектов; − выполнение научно-исследовательских и конструкторских работ; − подготовка производства к выпуску продукции; − перевооружение армии; − развертывание системы медицинских или профилактических мероприятий. Характерной особенностью таких проектов является то, что они состоят из ряда отдельных, элементарных работ. Они обуславливают друг друга так, что выполнение некоторых работ не может быть начато раньше, чем завершены некоторые другие. Например, укладка фундамента не может быть начата раньше, чем будут доставлены необходимые материалы; эти материалы не могут быть доставлены раньше, чем будут построены подъездные пути; любой этап строительства не может быть начат без составления соответствующей технической документации и т.д. СПУ состоит из трех основных этапов. 1. Структурное планирование. 2. Календарное планирование. 3. Оперативное управление. Структурное планирование начинается с разбиения проекта на четко определенные операции, для которых определяется продолжительность. Затем строится сетевой график, который представляет взаимосвязи работ проекта. 131
Это позволяет детально анализировать все работы и вносить улучшения в структуру проекта еще до начала его реализации. Календарное планирование предусматривает построение календарного графика, определяющего моменты начала и окончания каждой работы и другие временные характеристики сетевого графика. Это позволяет, в частности, выявлять критические операции, которым необходимо уделять особое внимание, чтобы закончить проект в директивный срок. Во время календарного планирования определяются временные характеристики всех работ с целью проведения оптимизации сетевой модели, которая улучшает эффективность использования какого-либо ресурса. В ходе оперативного управления используются сетевой и календарных графики для составления периодических отчетов о ходе выполнения проекта. При этом сетевая модель может подвергаться оперативной корректировке, вследствие чего будет разрабатываться новый календарный план остальной части проекта.
7.1.2. Структурное планирование Сущность метода сетевого планирования и управления (СПУ) заключается в особом моделировании исследуемого процесса, а именно – создаётся информационно-динамическая модель задачи. В качестве такой модели в методе СПУ используется графическая модель в виде сетевого графика. Весь комплекс операций в модели расчленён на отдельные, чётко определённые работы. Сетевой график изображается в виде ориентированного графа (множество вершин, соединённых направленными дугами). Основными понятиями сетевых моделей являются понятия события и работы. Работа – это некоторый процесс, приводящий к достижению определенного результата и требующий затрат каких-либо ресурсов, имеет протяженность во времени. Термин «работа» может иметь следующие значения: 1. действительная работа, требующая затрат времени и ресурсов на определённую операцию; 2. «ожидание» – т.е. процесс, не требующий затрат труда, но занимающий время (например, процесс отвердения бетона, высыхание краски и т.п.); 3. фиктивная работа, которая указывает на логическую связь между двумя или несколькими операциями, не требующая ни затрат времени, ни ресурсов. Она изображается на графике пунктирной линией (стрелкой) и указывает на то, что начало последующей операции, зависит от результатов предыдущей. По своей физической природе работы можно рассматривать как: − действие: заливка фундамента бетоном, составление заявки на материалы, изучение конъюнктуры рынка; − процесс: старение отливок, выдергивание вина, травление плат; 132
− ожидание: ожидание поставки комплектующих, пролеживание детали в очереди к станку. По количеству затрачиваемого времени работа, может быть: − действительной, т.е. требующей затрат времени; − фиктивной, не требующей затрат времени и представляющей связь между какими-либо работами: передача измененных чертежей от конструкторов к технологам, сдача отчета о технико-экономических показателях работы цеха вышестоящему подразделению. Событие – момент времени, когда завершаются одни работы и начинаются другие. Событие представляет собой результат проведенных работ и, в отличие от работ, не имеет протяженности во времени. Например, фундамент залит бетоном, старение отливок завершено, комплектующие поставлены, отчеты сданы и т.д. Таким образом, начало и окончание любой работы описываются парой событий, которые называются начальным и конечным событиями. Поэтому для идентификации конкретной работы используют код работы (i, j), состоящий из номеров начального (i-го) и конечного (j-го) событий, например (2,4); (3,8); (9,10).
работа i,j i
j
На этапе структурного планирования взаимосвязь работ и событий изображаются с помощью сетевого графика, где работы изображаются стрелками, которые соединяют вершины, изображающие события. Работы, выходящие из некоторого события не могут начаться, пока не будут завершены все операции, входящие в это событие. к
н н ...
н
к
н
...
к
к
Событие, не имеющее предшествующих ему событий, т.е. с которого начинается проект, называют исходным событием. Событие, которое не имеет последующих событий и отражает конечную цель проекта, называется завершающим.
133
И
З
При построении сетевого графа необходимо следовать следующим правилам: − длина стрелки не зависит от времени выполнения работы; 15 4 1 ...
− стрелка не обязательно должна представлять прямолинейный отрезок;
− для действительных работ используются сплошные, а для фиктивных – пунктирные стрелки;
134
− каждая операция должна быть представлена только одной стрелкой; − не должно быть параллельных работ между одними и теми же событиями, для избежания такой ситуации используют фиктивные работы;
− следует избегать пересечения стрелок;
− не должно быть стрелок, направленных справа налево;
− номер начального события должен быть меньше номера конечного события; 2 1 4
3
− не должно быть висячих событий, кроме исходного;
135
− не должно быть тупиковых событий, кроме завершающего;
− не должно быть циклов.
Поскольку работы, входящие в проект могут быть логически связаны друг с другом, то необходимо всегда перед построением сетевого графика дать ответы на следующие вопросы: − какие работы необходимо завершить непосредственно перед началом рассматриваемой работы? − какие работы должны непосредственно следовать после завершения данной работы? − какие операции могут выполняться одновременно с рассматриваемой работой?
7.1.3. Пример построения сетевого графика Пусть необходимо спроектировать, изготовить и сдать в эксплуатацию стенд согласно полученному техническому заданию (табл. 7.1.). Известно, что для этого необходимо выполнить следующие работы. Кроме того, известно, что − информация о характеристиках стенда может быть получена только в процессе создания электрической и механической частей стенда и после получения покупных элементов; − рабочая документация по эксплуатации стенда может быть разработана и без проведения сборки самого стенда; − контрольные испытания должны проводиться при наличии готовой документации по эксплуатации. Таблица 7.1. N Содержание работы Пред. Парал. A Разработка технических условий на стенд 136
-
-
По
B
B Общая компоновка стенда C Разработка и выдача ТЗ на составление рабочей документации по эксплуатации стенда D Разработка технологии изготовления электрической части стенда E Разработка технологии изготовления механической части стенда F Оформление и размещение заказов на покупные элементы, необходимые для сборки стенда G Изготовление электрической части стенда H Изготовление механической части стенда I Выполнение заказов на покупные элементы J Передача информации о характеристиках стенда для разработки рабочей документации по эксплуатации стенда K Сборка стенда L Разработка рабочей документации по эксплуатации стенда M Контрольные испытания стенда
A A B
C B,D,E,F,G, H,I E,F
B
D,F
B
D,E
D E F G,H,I
H,I G,I H,G K
G,H,I J
J,L K
L,K
-
Кроме того, известно, что − информация о характеристиках стенда может быть получена только в процессе создания электрической и механической частей стенда и после получения покупных элементов; − рабочая документация по эксплуатации стенда может быть разработана и без проведения сборки самого стенда; − контрольные испытания должны проводиться при наличии готовой документации по эксплуатации.
7.1.4. Календарное планирование Применение методов СПУ в конечном счете должно обеспечить получение календарного плана, определяющего сроки начала и окончания каждой операции. Построение сети является лишь первым шагом на пути к достижению этой цели. Вторым шагом является расчет сетевой модели, который выполняют прямо на сетевом графике, пользуясь простыми правилами. Показать расчет временных параметров событий на примере. К временным параметрам событий относятся: − ранний срок наступления события i – Tр ( i) ; − поздний срок наступления события i – Tп (i) ;
− резерв времени наступления события i – R(i) .
137
D
Tр (i)
–
это
время,
необходимое
для
выполнения
всех
работ,
предшествующих данному событию i. Tп (i) – это такое время наступления события i, превышение которого вызовет аналогичную задержку наступления завершающего события сети. R(i) – это такой промежуток времен, на который может быть отсрочено наступление этого события без нарушения сроков завершения разработки в целом. Значения временных параметров записываются прямо в вершины на сетевом графике следующим образом.
i
Tрi
Ri
Tпi
Методика расчета временных параметров событий. Расчет ранних сроков свершения событий ведется от исходного к завершающему событию. 1) Для исходного события Tр (i) = Tп (i) = 0 .
[
]
2) Для всех остальных событий Tр ( i) = max Tр ( k ) + t( k , i) , где максимум k
берется по всем работам ( k , i) , входящим в событие i. k1 t k1i
k2
...
t k 2i
i
Tрi
...
t k ni
kn
Поздние сроки свершения событий рассчитываются от завершающего к исходному событию. 3) Для завершающего события Tп (i) = Tр (i) .
138
4) T• (i ) = min [T• ( j ) − t (i, j )] , где минимум берется по всем работам j >i
( i, j) ,
выходящим из события i. j1 Tпj1
t ij1 t ij2
i
...
j2
Tпi
Tпj2
...
t ijm
jn Tпjm 5) R(i) = Tп (i) − Tр (i) . На основе ранних и поздних сроков событий можно определить временные параметры работ сети. Показать расчет временных параметров работ на примере. При составлении таблицы (см. табл. 7.2.), для записи временных параметров работ, обычно коды работ записывают в определенном порядке. Сначала записываются все работы, выходящие из исходного, первого, события, затем – выходящие из второго события, потом – из третьего и т.д. Таблица 7.2. Код работы
t ( i, j)
Tрн ( i, j)
1,2 2,3 2,8 3,4 3,5 3,6 4,7 5,7 6,7 7,8 7,9 8,9 9,10
5 5 3 8 6 10 25 18 15 0 12 12 10
0 5 5 10 10 10 18 16 20 43 43 43 55
Tро ( i, j) Tпн ( i, j) 5 10 8 18 16 20 43 34 35 43 55 55 65
0 5 52 10 19 18 18 25 28 55 43 43 55
Tпо ( i, j)
R п ( i, j)
R с ( i, j)
5 10 43 18 25 28 43 43 43 43 55 55 65
0 0 35 0 9 8 0 9 8 0 0 0 0
0 0 35 0 0 0 0 9 8 0 0 0 0 139
К наиболее важным временным параметрам работы относятся:
− ранний срок начала работы Tрн ( i, j) ; − поздний срок начала работы Tпн ( i, j) ;
− ранний срок окончания работы Tро ( i, j) ; − поздний срок окончания работы Tпо ( i, j) ; − полный резерв R п ( i, j) ; − свободный резерв R с ( i, j) .
1) Tрн (i, j) = Tр (i) ; 2) Tпн (i, j) = Tп ( j) − t(i, j) или Tпн ( i, j) = Tпо ( i, j) − t( i, j) ;
3) Tро ( i, j) = Tр ( i) + t( i, j) или Tро ( i, j) = Tрн ( i, j) + t( i, j) ; 4) Tпо ( i, j) = Tп ( j) ; 5) R п ( i, j) = Tп ( j) − Tр ( i) − t( i, j) ; 6) R с ( i, j) = Tр ( j) − Tр ( i) − t ( i, j) .
Вывод. Мы формализовали задачу сетевого планирования. Теперь можно переходить к задачам связанным с составлением планов и их оптимизацией.
7.2. Методика расчета временных параметров работ Путь – это любая последовательность работ в сетевом графике, в которой конечное событие одной работы совпадает с начальным событием следующей за ней работы. Например, в рассмотренном сетевом графике путями являются следующие последовательности работ: 2-3, 3-4, 4-7 или 2,3,4,7; 8-9 или 8,9; 1-2, 2-3, 3-6, 6-7, 7-9, 9-10 или 1,2,3,6,7,9,10. Полный путь – это путь от исходного до завершающего события, например 1,2,3,6,7,9,10. Критический путь – максимальный по продолжительности полный путь. Критическая работа – любая работа на критическом пути. Особенность критических работ состоит в том, чтобы каждая из них начиналась точно в момент времени, когда закончилась предыдущая и, кроме того, продолжаться она должна не более того времени, которое ей отведено по плану. В противном случае критический путь увеличится. Следовательно, критический путь должен 140
быть всегда под контролем руководителей работ, ибо от выполнения критических работ целиком зависит выполнение плана строительства. Подкритический путь – полный путь, ближайший по длительности к критическому пути. Работы, лежащие на критическом пути, называют критическими. Они имеют ряд особенностей: − начальные и конечные события критических работ имеют нулевые резервы событий; − временно пропустить (это касается соотношения между Tрн (i, j) и
Tпн (i, j) , а также между Tро (i, j) и T•” (i, j ) ; − временно пропустить (о значениях резервов работ). Первую особенность критических работ можно использовать при поиске критического пути. Для этого надо выявить все события, имеющие нулевой резерв. В рассматриваемом примере это события 1,2,3,4,7,8,9,10. Но через эти события проходят три пути: 1) 1,2,8,9,10; 2) 1,2,3,4,7,8,9,10; 3) 1,2,3,4,7,9,10. Непосредственное суммирование длительностей работ этих путей показывает, что путь 1) не является критическим, несмотря на то, что лежащие на нем события имеют нулевой резерв. Отсюда следует вывод, что требование нулевых резервов событий является необходимым, но не достаточным условием критического пути. Дополнительное задание: сформулировать достаточное условие для определения критического пути. Разность между продолжительность критического пути Tк р и
продолжительностью любого другого пути TL называется полным резервом времени пути L, т.е. RL = Tђ р − TL . Этот резерв показывает, на сколько в сумме может быть увеличена продолжительность всех работ данного пути L, чтобы при этом не изменился общий срок окончания всех работ, т.е. Tк р .
R п ( i, j) показывает максимальное время, на которое может быть увеличена продолжительность работы ( i, j) или отсрочено ее начало, чтобы продолжительность проходящего через нее максимального пути не превысила продолжительности критического пути. Важнейшее свойство полного резерва работы (i, j) заключается в том, что если его использовать частично или полностью, то уменьшится полный резерв у работ, лежащих с работой (i, j) на одних путях. Т.о. полный резерв времени принадлежит не одной данной работе (i, j) , а всем работам, лежащим на путях, проходящим через эту работу. Пример на сетевом графике. R с ( i, j) показывает максимальное время, на которое можно увеличить продолжительность отдельной работы или отсрочить ее начало, не меняя ранних сроков начала последующих работ, при условии, 141
что непосредственно предшествующее событие наступило в свой ранний срок. Использование свободного времени на одной из работ не меняет величины свободных резервов времени остальных работ сети. Пример на сетевом графике. Дополнительное задание: обуславливает ли нулевой полный резерв работы (i, j) нулевой свободный резерв этой работы и наоборот, обуславливает ли нулевой свободный резерв работы (i, j) нулевой полный резерв этой работы. Аргументировать ответ и привести пример. Конечным результатом выполняемых на сетевой модели расчетов является календарный график, который иногда называют графиком привязки. График привязки отображает взаимосвязь выполняемых работ во времени и строится на основе данных о ранних сроках начала и окончания работ. Для удобства дальнейшей работы на этом графике могут быть указаны величины полных и свободных резервов работ. По вертикальной оси графика привязки откладываются коды работ, по горизонтальной оси – длительность работ (раннее начало и раннее окончание работ). График привязки можно построить без предварительного расчета ранних сроков начала и окончания всех работе, используя только данные о продолжительности работ. При этом необходимо помнить, что работа (i, j) может начать выполняться только после того, как будут выполнены все предшествующие ей работы ( k , j) .
Пример построения графика привязки. Построим график привязки для следующих исходных данных (см. табл. 7.3.).
(i, j)
t (i, j)
1,2 2,3 2,4 2,7 3,6 4,5 5,7 6,7 7,8
4 5 6 11 10 9 11 9 12
Таблица 7.3. Количество исполнителей 5 6 3 4 2 1 3 5 6
Практическая ценность графика привязки заключается в том, что с его помощью можно улучшать эффективность использования ресурса рабочей силы, т.е. проводить оптимизацию сетевой модели.
142
Вывод. Мы ввели такие понятия как критический путь, критическая работа и другие, которые помогут нам формализовать задачу оптимизации нашего планирования.
7.3. Оптимизация сетевых моделей 7.3.1. Оптимизация использования ресурса рабочей силы При оптимизации использования ресурса рабочей силы сетевые работы чаще всего стремятся организовать таким образом, чтобы: − количество одновременно занятых исполнителей было минимальным; − выровнять потребность в людских ресурсах на протяжении срока выполнения проекта. Для проведения подобных видов оптимизации необходим график загрузки. На графике загрузки по горизонтальной оси откладывается время, например в днях, по вертикальной – количество человек, занятых работой в каждый конкретный день. Для построения графика загрузки необходимо: − на графике привязки над каждой работой написать количество ее исполнителей; − подсчитать количество работающих в каждый день исполнителей и отложить на графике загрузки. Для удобства построения и анализа, графики загрузки и привязки следует располагать один над другим. Пример построения графика загрузки. Описанные виды оптимизации могут быть выполнены с помощью сдвига работ, который осуществляется за счет резервов времени: свободного или полного. После сдвига работы, работники выполняют ее уже в другие дни, и поэтому для каждого дня изменяется количество исполнителей занятых одновременно. Резервы работ можно определить без специальных расчетов, только с помощью графика привязки. Показать на рис. как ищутся резервы Т.о. мы установили, что свободные резервы есть у работ:
R c (2,7) = 15 ; R c (6,7) = 2 , а полные резервы у работ: R п ( 2,3) = R п ( 3,6) = R п ( 6,7) = 2 ; R п (2,7) = 15 . На рис. 7.1. показаны результаты оптимизации по критерию «min исполнителей». Для снижения максимального количества одновременно 143
занятых исполнителей с 13 до 9 человек достаточно работу (2,7) сдвинуть на 5
дней, а работу (6,7) – на 1 день (пунктирной линией) – изменения на графике загрузки). Показать на графике загрузки изменения пунктирной линией. На рис. 7.2. показаны результаты оптимизации с целью выравнивания загрузки. Для этого необходимо чуть дальше сдвинуть указанные работы, а именно: работу (2,7) сдвинуть на 6 дней, а работу (6,7) – на 2 день (пунктирной линией – изменения на графике загрузки). Показать на графике загрузки улучшение равномерности загрузки. Проведенная оптимизация была основана на использовании свободных резервов работ, но использование и полных резервов также возможно. Дополнительный вопрос: в чем различие при использовании для сдвига работ свободных и полных резервов? Решить задачу минимизации исполнителей (условие) (см. табл. 7.2.).
144
(i, j)
t (i, j)
1,2 1,3 1,5 2,3 2,4 3,6 4,5 4,6 5,6
10 0 3 6 4 7 6 1 10
Таблица 7.2. Кол-во исп. 2 1 8 2 1 3 1 2 1
Рис. 7.1. Результаты оптимизации по критерию «min исполнителей»
145
Рис. 7.2. Результаты оптимизации с целью выравнивания загрузки
Различие в использовании свободных и полных резервов заключается в том, что при сдвиге работы, с использованием свободного резерва, моменты начала следующих за ней работ остаются неизменными (т.е. последующие
146
работы не сдвигаются). При сдвиге работы, с использованием полного резерва, все последующие работы сдвигаются (см. рис. 7.3.).
Рис. 7.3. Задача минимизации исполнителей
7.3.2. Оптимизация типа «время – затраты» Целью оптимизации по критерию «время – затраты» является сокращение времени выполнения проекта в целом. Эта оптимизация имеет смысл только в том случае, когда длительность выполнения работ может быть уменьшена за счет задействования дополнительных ресурсов, что влечет повышение затрат на выполнение работ. Для оценки величины дополнительных затрат, связанных с ускорением выполнения той или иной работы, используются либо нормативы, либо данные о выполнении аналогичных работ в прошлом. 147
Исходными данными для проведения оптимизации являются: − Tн (i, j) – нормальная длительность работы; − Tу (i, j) – ускоренная длительность;
− Cн (i, j) – затраты на выполнение работы в нормальный срок; − C у (i, j) – затраты на выполнение работы в ускоренный срок. Т.о. каждая работа имеет некоторый максимальный запас времени для сокращения своей длительности Z max (i, j) = Tн (i, j) − Tу (i, j) .
Затраты C у (i, j)
Cн (i, j)
Z max (i, j) Tу (i, j)
Tн (i, j)
Продолжительность
Для анализа сетевой модели в данном виде оптимизации используется коэффициент нарастания затрат (коэффициент ускорения) k(i, j) =
C у (i, j) − Cн (i, j) Tн (i, j) − Tу (i, j)
,
который имеет смысл (Дополнительный вопрос: какой смысл?) затрат денежных средств для сокращения длительности выполнения работы (i, j) на один день. Оптимизация критического пути. Оптимизация критического пути заключается в улучшении его в соответствии с принятым критерием. В принципе, этими критериями могут быть: время, стоимость, людские и материальные ресурсы и др. В настоящее время оптимизация сетевых графиков выполняется в основном только по критерию времени. Оптимизация может производиться с различными целями: 1. если критический путь со временем T превышает заданные сроки T0 , то оптимизация по времени заключается в сокращении критического пути. 148
2. если T < T0 , то имеется известный резерв времени R = T0 − T , поэтому работы можно растянуть с целью экономии затрачиваемых средств. Дадим математическую постановку каждой из поставленных задач: Задача 1. Известен критический путь T , причём T=
∑t
> T0 ,
i
(7.1.)
( кр .)
где
∑
– распространяется только на критические работы;
(кр .)
T0 – заданный (директивный) срок выполнения работ.
Для сокращения критического пути, естественно, имеет смысл форсировать критические работы. Их можно ускорить, например: 1. за счёт дополнительных сил и средств; 2. за счёт переброски сил и средств с некритических работ на критические. Если используется пункт 1, то возникает типичная задача исследования операций: какие дополнительные средства x1 , x2 , ..., x n и в какие критические работы нужно вложить, чтобы критический путь T ≤ T0 , а расход дополнительных средств был минимальным. 1. Допустим, что при вложении дополнительных средств xi в работу ai , сокращает время выполнения этой работы до времени t i′ = f i ( xi ) < t i .
(7.2.)
Таким образом, требуется определить неотрицательные значения переменных x1 , x 2 , ..., xn (дополнительные вложения) при которых бы выполнялось условие: T′ =
∑ f (x ) ≤ T i
i
0
,
(7.3.)
( кр .)
где
∑
–
распространяется
по
всем
критическим
работам
нового
(кр .)
критического пути (после распределения средств); и чтобы при этом общая сумма дополнительных средств X =
n
∑x
( кр .)
i
= min ,
(7.4.)
была минимальной. В общем виде ограничения (7.3.) нелинейны, т.к. вложение каких-то средств в работу ai не обязательно вызывает линейное уменьшение времени, затрачиваемого на эту работу. Поэтому поставленная задача относится к классу 149
задач нелинейного программирования. Однако, при небольших изменениях плана, когда ограничения (7.3.) линейны, поставленная задача оптимизации критического пути решается методом линейного программирования. 2. Если используется пункт 2, т.е. для оптимизации критического пути перебрасываются имеющиеся средства с некритических работ на критические. Снова известен критический путь T (7.1.) и, кроме того, имеется определённый запас подвижных средств B , который распределён между работами a1 , a 2 , ..., a n в количествах b1 , b2 , ..., bn . Обозначим: xi – количество подвижных средств перебрасываемых с работы ai ( xi берётся отрицательным, если с работы ai перебрасываются средства). Естественно, что сумма средств, снимаемых с каких-то работ, должна быть равна сумме средств, добавляемых другим работам, т.е. x1 + x 2 + ... + x n = 0 .
(7.5.)
Величины xi должны удовлетворять ограничениям: − xi ≤ bi или xi ≥ −bi i = 1, n .
(7.6.)
Известно: 1. Если количество средств xi снимается с работы ai , то время её выполнения возрастает: t i′ = f i ( xi ) > t i ;
(7.7.)
2. Если количество средств xi вкладывается в работы ai , то время её выполнения уменьшается: t i′′ = ϕ i ( xi ) < t i .
(7.8.)
При таких обозначениях общий срок выполнения всех работ (новый критический путь) будет: T′ =
∑ f ( x ) + ∑ f ( x ) → min , i
( кр .)
где первая вторая
∑
∑
i
( кр .)
i
(7.9.)
включает в себя все работы, с которых переносятся средства, а
(кр .)
– все работы, в которые вкладываются средства, если они входят в
( кр .)
критический путь. 150
i
Казалось бы, что перенос средств имеет смысл делать только с некритических на критические. Однако в процессе таких переносов может получиться, что некритические работы могут переходить в критические и наоборот. Поэтому в уравнении (7.9.), в общем случае, присутствует первое слагаемое ∑ f i ( xi ) . Следовательно, задача стоит так: найти такие значения ( кр .)
переменных x1 , x 2 , ..., x n , при которых бы удовлетворялись ограничения (7.5.) и (7.6.), а общий срок выполнения работ T ′ из (7.9.) обращался бы в минимум. Это также задача нелинейного программирования, т.к. уравнение (7.9) является всегда нелинейной функцией. Задача 2. Известен критический путь T T = ∑ t i < T0 . (7.10.) ( кр .)
Предполагается увеличить время выполнения некоторых критических работ, так, чтобы T = T0 и получить максимальную экономию средств. Если увеличим время выполнения критической работы ai на величину τ i , то высвобождается некоторое количество средств на этой работе xi : xi = f i (τ i ) .
(7.11.)
Требуется выбрать такие значения неотрицательных переменных τ i , чтобы общая сумма критических времён T ′ = ∑ (t i + τ i ) ≤ T0 , (7.12.) ( кр .) при которых сумма высвободившихся средств ∑ xi = ∑ f i (τ i ) = max , i
( кр .)
(7.13.)
достигала максимума. Эта задача так же относится к задачам нелинейного программирования. В случаях, когда увеличение срока работ τ i малό, удаётся свести эту задачу к методу линейного программирования. Общая схема проведения оптимизации: 1. проводится расчет сети исходя из нормальных длительностей работ; 2. определяется сумма затрат на выполнение всего проекта при нормальной продолжительности работ; 3. рассматривается возможность сокращения продолжительности проекта. Поскольку этого можно достичь за счет уменьшения продолжительности какой-либо критической работы, то только такие операции подвергаются анализу; 3.1. для сокращения выбирается критическая работа с min коэффициентом нарастания затрат k (i, j) , у которой есть запас сокращения времени; 151
3.2. определяется время ∆t (i, j) , на которое необходимо сжать длительность работы (i, j) . При этом руководствуются следующими соображениями; 3.2.1. максимально возможный запас времени для сокращения работы на текущий момент Z(i, j) ограничивается значением Tу (i, j) , т.е.
Z(i, j) = t т (i, j) − Tу (i, j) , где t т (i, j) - текущее время выполнения работы ( t т (i, j) = Tн (i, j) только для работ еще не подвергшихся сокращению); 3.2.2. кроме критического пути длительностью Tк р в сети есть подкритический
путь длительностью Tп . Критический путь нельзя сократить больше, чем ∆T = Tк р − Tп , поскольку в этом случае критический путь перестанет быть таковым, а подкритический путь наоборот станет критическим; 3.2.3. исходя из вышесказанного, время сокращения длительности выбранной работы (i, j) равно ∆t = t т (i, j) − min[ Z(i, j), ∆T] . Другими словами, если разность между длительностью критического и подкритического путей ∆T меньше текущего запаса времени сокращения работы Z(i, j) , то имеет смысл сокращать работу только на ∆T дней. В противном случае можно сокращать работу полностью на величину Z(i, j) ; 4. в результате сжатия критической операции получают новый календарный план, возможно с новыми критическими и подкритическими путями, и обязательно с новыми более высокими затратами на выполнение проекта. Это происходит вследствие удорожания ускоренной работы. Общая стоимость проекта увеличивается на ∆C = k (i, j )∆t ; 5. переход на шаг 3, который повторяется до тех пор, пока стоимость проекта уменьшается. В результате оптимизации строится график «Время – затраты». Пример проведения оптимизации. Провести максимально возможное уменьшение сроков выполнения проекта при минимально возможных дополнительных затратах (см. табл. 7.3.). Таблица 7.3. Нормальный режим
( i , j)
(1,2) (1,3) (2,4) (2,5) (3,4) (4,5) 152
Ускоренный режим
Tн (i, j)
Cн (i, j)
Tу (i, j)
C у (i, j)
k ( i , j)
8
100
6
200
50
4
150
2
350
100
2
50
1
90
40
10
100
5
400
60
5
100
1
200
25
3
80
1
100
10
Затраты Cпр max
B
Cпр min
A Время
Tпр max
Tпр min
2 8 0 8 1
8 10
0
5 18
2
0
0 0 4
18
3 3 4
5
6 10
4 10 5 15
1. Исходя из нормальных длительностей работ получаем следующие характеристики сетевой модели. − Общие затраты на проект C 0п р =
∑ С н ( i, j) = 580
руб.
∀ ( i , j)
− Длительность проекта Tк0р = 18 дней.
− Критический путь L0к р = 1,2,5 или L0к р = (1,2); (2,5) . − Подкритический путь L0п = 1,2,4,5 или L0п = (1,2); (2,4); (4,5) , Tп0 = 13 дней.
2. Для ускорения выбираем работу (1,2) с k(1,2) = 50 руб./день. Текущий запас сокращения или предел сокращения работы (1,2) на данный момент равен Z 0 (1,2) = 8 − 6 = 2 . Разность между продолжительностью критического и подкритического путей ∆T = 18 − 13 = 5 дней. Поэтому согласно п. 3.2. 153
сокращаем работу (1,2) на ∆t = min[2,5] = 2 дня. Новое текущее значение t 1 (1,2) = 8 − 2 = 6 дней, а запас ее дальнейшего сокращения полностью
исчерпан, т.е. Z1 (1,2) = 0 . Новый сетевой график имеет вид. 2 6 0
6 1
6 10 2
0
5 16 0
0 0 4
16
3 3 4
5
6 8
4 9 5 13
3. Исходя из новой длительности работы (1,2) получаем. р уб. − Затраты на работу (1,2) возросли на 2 дня ⋅ 50 = 100 р уб. , поэтому день общие затраты на проект составили C1пр = 580 + 100 = 680 руб. − Длительность проекта Tк1р = 16 дней. − Критический путь L1к р = (1,2); (2,5) . − Подкритический путь L1п = (1,3); (3,4); (4,5) , Tп1 = 12 дней.
4. Работу
(1,2)
не имеет смысла рассматривать, т.к. Z1 (1,2) = 0 . Для
рассмотрения остается единственная критическая работа (2,5) с k( 2,5) = 60 руб./день и пределом сокращения Z1 ( 2,5) = 10 − 5 = 5 дней. ∆T = 16 − 12 = 4 дня, поэтому сокращаем работу ( 2,5) на ∆t = min[5,4] = 4 дня. Новое текущее значение
t 2 (2,5) = 10 − 4 = 6 дней, а запас ее дальнейшего сокращения
Z 2 (2,5) = 1 день. Новый сетевой график имеет вид.
154
2 6 0
6 1
6
6 2
0
5 12 0
0 0 4
12
3 3 4
5
0 4
4 9 0 9
5. Исходя из новой длительности работы ( 2,5) получаем. р уб. − Затраты на работу ( 2,5) возросли на 4 дня ⋅ 60 = 240 р уб. , поэтому день общие затраты на проект составили C 2пр = 680 + 240 = 920 руб. − Длительность проекта Tк2р = 12 дней. − Два критических пути L2к р = (1,2); (2,5) и L2к р = (1,3); (3,4); (4,5) . − Подкритический путь L2п = (1,2); (2,4); (4,5) , Tп2 = 11 дней. 6. Появление нескольких критических путей говорит о том, что для дальнейшего сокращения длительности проекта необходимо уменьшать длину всех критических путей одновременно. Из первого критического пути L2к р = (1,2); (2,5) можно сократить только работу ( 2,5) с пределом сокращения Z 2 (2,5) = 1 , а из второго пути - работу ( 4,5) с k( 4,5) = 10 руб./день и пределом
сокращения Z 2 ( 4,5) = 3 − 1 = 2 дня. ∆T = 13 − 12 = 1 день, поэтому сокращаем работу ( 2,5) и работу ( 4,5) на ∆t = min[1,2,1] = 1 день, где первые два элемента при выборе минимума это Z 2 (2,5) = 1 и Z 2 (4,5) = 2 . Новое текущее значение t 3 (2,5) = 6 − 1 = 5
дней, и запас ее дальнейшего сокращения исчерпан
Z 3 (2,5) = 0 , для работы ( 4,5) новое текущее значение t 3 ( 4,5) = 3 − 1 = 2 дня и
Z 3 ( 4,5) = 1 день. Новый сетевой график имеет вид.
155
2 6 0
6 1
6
5 2
0
5 11 0
0 0
11
2
4 3 4
5
0 4
4 9 0 9
7. Исходя из новой длительности работ ( 2,5) и (4,5) получаем. р уб. − Затраты на работу ( 2,5) возросли на 1 дня ⋅ 60 = 60 р уб. , а для день р уб. = 10 р уб. , поэтому общие затраты на работы (4,5) на 1 дня ⋅ 10 день проект составили C 3пр = 920 + 60 + 10 = 990 руб. − Длительность проекта Tк3р = 11 дней. − Два критических пути L3к р = (1,2); (2,5) и L3к р = (1,3); (3,4); (4,5) . − Подкритический путь L3п = (1,2); (2,4); (4,5) , Tп3 = 10 дней. 8. Поскольку все критические операции пути L3к р = (1,2); (2,5) сжаты до Tу (i, j) , то дальнейшее сокращение установленного предела продолжительности проекта невозможно. Результаты проведенной оптимизации иллюстрируются графиком. Под параметрами работ Cн (i, j) и C у (i, j) понимаются так называемые прямые затраты, т.е. косвенные затраты типа административно-управленческих во внимание не принимаются. Однако их влияние учитывается при выборе окончательного календарного плана проекта. В отличие от прямых затрат косвенные затраты при уменьшении продолжительности проекта убывают, что показано на графике. Оптимальный календарный план соответствует минимуму общих затрат (точка А).
156
C
min общих затрат А
Общие затраты
990 Косвенные затраты
920
680 Прямые затраты 580
11
12
16
18
T
7.3.3. Неопределенность времени выполнения операций В описанных методах анализа сетей предполагалось, что время выполнения работ точно известно, однако на практике сроки выполнения работ обычно довольно неопределенны. В таких случаях обычно используют экспертные оценки минимальной (a), максимальной (b) и наиболее вероятной длительности (m) работ для расчета их ожидаемой продолжительности. Тогда ожидаемая продолжительность работы определяется по формуле
to =
a + 4m + b . 6
Данный метод основан на предположении, что время выполнения каждой отдельной работы аппроксимируется β – распределением. При таком подходе можно оценивать вероятности наступления событий в пределах их ранних и 157
поздних сроков, вероятность завершения проекта к заранее установленной дате и другие вероятностные характеристики. Выводы. Мы рассмотрели некоторые способы оптимизации наших сетевых графиков. Были продемонстрированы алгоритмы, позволяющие оптимизировать любые сетевые графики. Мы рассмотрели задачу планирования сложных комплексных проектов, состоящих из большого числа операций. Было введено понятие сетевого графика – удобного средства для планирования такого рода проектов. Также были представлены некоторые методы оптимизации подобных планов. Контрольные вопросы: 1. Дайте определение сетевого графика. 2. Дайте определение критического пути. 3. Назовите методы оптимизации критического пути.
158
Глава 8 ЗАДАЧА УПРАВЛЕНИЯ ЗАПАСАМИ Для деятельности любой организации необходимы какие-то запасы. Если их не будет, то при малейшем нарушении сбыта вся деятельность остановится. Хранить же слишком много запасов экономически невыгодно. Нахождению баланса между этими двумя крайностями посвящена задача управления запасами.
8.1. Введение в задачу управления запасами 8.1.1. Постановка задачи Задача состоит в следующем: Необходимо составить план выпуска некоторого вида изделий на период, состоящий из N отрезков. Предполагается, что для каждого из этих отрезков имеется точный прогноз спроса на выпускаемую продукцию. Для разных отрезков спрос неодинаков. Причём, продукция, изготовляемая в течение отрезка времени t , может быть использована для полного или частичного покрытия спроса в течение этого отрезка. Кроме того, размеры изготовляемых партий продукции влияют на экономические показатели производства. В связи с этим бывает целесообразно изготовлять в течение некоторого периода объём продукции, превышающий его спрос в пределах этого периода и хранить эти излишки до удовлетворения последующего спроса. Однако, хранение запасов связано с затратами (плата за складские помещения, страховые взносы и расходы по содержанию запасов и т.п.). Цель предприятия – разработать такую программу, при которой общая сумма затрат на производство и содержание запасов минимизируется при условии полного и своевременного удовлетворения спроса на продукцию. Для обеспечения непрерывного и эффективного функционирования практически любой организации необходимо создание запасов, например, в производственном процессе, торговле, медицинском обслуживании и т.д. В зависимости от ситуации под запасами могут подразумеваться: готовая продукция, сырье, полуфабрикаты, станки, инструмент, транспортные средства, наличные деньги и др. Неверный расчет необходимых запасов может привести как к незначительному ущербу (потеря части дохода от дефицита товара), так и к катастрофическим последствиям (при ошибочной оценке запасов топлива на самолете). К экономическому ущербу приводит как чрезмерное наличие запасов, так и их недостаточность. Так, если некоторая компания имеет товарные запасы, то капитал, овеществленный в этих товарах, замораживается. Этот капитал, который нельзя использовать, представляет для компании потерянную стоимость в форме невыплаченных процентов или неиспользуемых 159
возможностей инвестирования. Кроме того, запасы, особенно скоропортящиеся продукты, требуют создания специальных условий для хранения. Для этого необходимо выделить определенные площади, нанять персонал, застраховать запасы. Все это влечет определенные издержки. С другой стороны, чем меньше уровень запаса, тем больше вероятность возникновения дефицита, что может принести убытки вследствие потери клиентов, остановки производственного процесса и т.д. Кроме того, при малом уровне запасов приходится часто поставлять новые партии товара, что приводит к большим затратам на доставку заказов. Отсюда следует важность разработки и использования математических моделей, позволяющих найти оптимальный уровень запасов, минимизирующих сумму всех описанных видов издержек.
8.1.2. Основные понятия и определения Любая модель управления запасами (УЗ) в конечном счете, должна давать ответ на два вопроса: 1) какое количество продукции заказывать? 2) когда заказывать? Ответ на первый вопрос дается с помощью понятия размера заказа, т.е. количества ресурсов, которое необходимо поставлять для пополнения запасов. Ответ на второй вопрос связан с понятием точки заказа, т.е. критический уровень запасов, при котором следует подавать заказ на поставку очередной партии ресурса. Большое значение имеют различные виды затрат на управления запасами. Затраты на приобретение ресурса являются важным фактором в тех случаях, когда действует система оптовых скидок, зависящих от размера заказа. Затраты на осуществление заказа включают в себя затраты на оформление заказа и затраты на доставку заказа. При частой подаче заказов на мелкие партии товара сумма этих затрат возрастает по сравнению со случаем более редкой подачи заказов на крупные партии. Если запас пополняется не готовым ресурсом со склада, а производится, то затраты на осуществление заказа идут на организацию производственного процесса по выпуску партии ресурса. В этом случае затраты на приобретение ресурса эквивалентны издержкам производства ресурса. Затраты на хранение запаса представляют собой расходы на физическое содержание запаса на складе и возрастают с увеличением уровня запасов. Потери от дефицита представляют собой расходы, обусловленные отсутствием запаса необходимой продукции. Они могут быть вызваны более высокой платой за срочную доставку товара, ухудшением репутации у потребителя, потенциальной потерей прибыли. Модель управления запасами не обязательно должна включать все перечисленные виды затрат, т.к. некоторые из них могут быть незначительными или отсутствовать. 160
Страховой (резервный) запас – запас ресурсов, созданный для недопущения дефицита в непредвиденных ситуациях. Эффективность модели зависит от того, насколько точно будет предсказан спрос на ресурс, что является довольно сложной задачей. Выделяют следующие типы спроса (рис. 8.1.): СПРОС
Детерминированный
Вероятностный Стационарный
Статический Динамический
Нестационарный
Возрастание степени математической сложности Рис. 8.1. Типы спроса
Детерминированный спрос точно известен заранее, в отличие от вероятностного спроса. При статическом типе спроса интенсивность потребления ресурса остается неизменной во времени, при динамическом типе спроса интенсивность потребления изменяется в зависимости от времени. При стационарном типе спроса его функция плотности вероятности неизменна во времени, а при нестационарном – функция плотности вероятности спроса изменяется во времени. Время пополнения запаса может быть мгновенным в случае внешней доставки заказа (доставка товара на торговую точку). В случае же когда ресурс производится самой организацией, происходит равномерное пополнение запаса на определенный срок (производство микросхем на предприятии, на котором они в дальнейшем используются для сборки электронной аппаратуры). Время доставки заказа может быть определено более или менее точно, в зависимости от дальности поставки, от наличия надежных поставщиков и т.д. Ряд факторов может приводить к запаздыванию поставок. Вывод. Мы ввели базовые понятия для описания задачи управления запасами. Теперь на их основе можно будет построить математическую модель.
161
8.2. Основная модель 8.2.1. Основная модель управления запасами Существует множество моделей управления запасами той или иной степени сложности. Наиболее простой является так называемая основная модель управления запасами (модель Уилсона, система с фиксированным размером заказа). Эта модель несколько оторвана от действительности, но является полезной для понимания существа предмета, проблем, основных закономерностей и подходов в области управления запасами.
8.2.2. Допущения модели Уилсона При построении модели Уилсона используются следующие параметры: 1. входные: 1) ν – интенсивность потребления запаса, [ед. товара / ед. времени]; 2) s – затраты на хранение запаса, [ден. ед. / ед. товара * ед. времени]; 3) K – затраты на осуществление заказа, [ден. ед.]. 2. выходные: 1) Q – размер заказа, [ед. тов.]; 2) τ – период поставки, [ед. времени]; 3) L – общие затраты на управление запасами в единицу времени, [ден. ед./ ед. времени]. Данная модель моделирует ситуацию управления запасами, которая характеризуется следующими допущениями: 1. интенсивность потребления является априорно известной и постоянной величиной, ν = const ; 2. время поставки заказа является известной и постоянной величиной; 3. каждый заказ поставляется в виде одной партии; 4. затраты на осуществление заказа К не зависят от размера заказа; 5. отсутствие запаса является недопустимым. Эта модель наиболее близка к следующим реальным ситуациям: 1. потребление основных продуктов питания, например, хлеба, молока, в санатории (оно в течение смены остается постоянным); 2. использование осветительных ламп в здании; 3. использование канцелярских товаров (бумага, блокноты, карандаши) крупной фирмой; 4. использование в производственном процессе для сборки изделий покупных комплектующих, например, гаек и болтов. Циклы изменения уровня запаса в модели Уилсона графически представлены на рис. 8.2. Все циклы изменения запасов являются одинаковыми, максимальное количество продукции, которая находится в запасе, совпадает с размером заказа Q.
162
Уровень запасов Q
h0 точка заказа 0
Время Время доставки
Получение заказа
Рис. 8.2. Циклы изменения уровня запаса в модели Уилсона
8.2.3. Построение модели Модель управления запасами должна минимизировать издержки по управления запасами за весь период их хранения. Длительность этого периода значения не имеет, пусть это будет некоторый плановый период (пл. пер.). Тогда общие затраты на управления запасами в пл. пер. L составляют L= затраты на осуществление заказов в течение пл. пер. ( L1 )+ + затраты на хранение запасов в течение пл. пер. ( L 2 ) [ р уб./ пл. пе р.]
(8.1.).
Если потребность в ресурсах составляет ν [ед. тов./ пл. пе р.] , а каждый
заказ подается на партию размером Q [ед. тов./ заказ] , то количество заказов в ν ⎡ ед. тов. заказ ⎤ ⎡ заказ ⎤ ⋅ = , а затраты Q ⎢⎣ пл. пе р. ед. тов. ⎥⎦ ⎢⎣ пл. пе р. ⎥⎦ ν ⎡ р уб. заказ ⎤ ⎡ р уб. ⎤ ⋅ = . L1 = K ⋅ Q ⎢⎣ заказ пл. пе р. ⎥⎦ ⎢⎣ пл. пе р. ⎥⎦ При расчете L 2 исходят из среднего количества продукции, составляющей запас в течение одного цикла. Поскольку в рассматриваемой ситуации уровень Q запаса изменяется линейно от Q до нуля, то средний уровень запасов равен , 2 поэтому ⎤ ⎡ р уб. ⎤ р уб. Q ⎡ L2 = s ⋅ ⋅ ед. тов.⎥ = ⎢ ⎢ ⎥. пл . пе р. 2 ⎣ ед. тов.⋅пл. пе р. ⎦ ⎣ ⎦
течение пл. пер. составит
163
Тогда из (8.1.) следует, что
L=K⋅
Q ν + s⋅ . Q 2
(8.2.)
Чтобы найти оптимальный размер заказа Q∗ , минимизирующий L, найдем ∂L и приравняем ее к нулю частную производную ∂Q ∂L Kν 1 =− + s = 0; ∂Q Q2 2
Kν
1 = s; Q2 2
Q∗ =
2K ν . s
(8.3.)
Дополнительное задание: доказать, что Q∗ – это точка минимума, а не максимума. Рассмотрим графическое представление уравнения общей стоимости (8.1.) и его компонент L1 и L 2 (рис. 8.3.). Затраты
Общие затраты, L
Затраты на хранение, L 2
Затраты на заказы, L1 Размер заказа
0 Рис. 8.3. Распределение общей стоимости
Из рисунка следует, что если размер заказа невелик, то затраты на подачи заказа L1 является доминирующей, потому что в этом случае заказы подаются часто, но на небольшое количество ресурса. Если же размер заказа является достаточно большим, то основной компонентой затрат являются затраты на хранение L 2 , поскольку делается небольшое число заказов, но на крупные партии товара. Экстремальная точка на графике общих затрат L соответствует 164
ситуации, когда оба вида издержек равны друг другу. Этот факт можно
использовать для проверки правильности расчетов Q∗ . Важным фактом является то, что в точке минимума кривая общих затрат заметно выравнивается. Это означает, что в данной области общие затраты не обладают высокой чувствительностью по отношению к изменениям в размере заказа. Т.е. если невозможно заказать Q∗ единиц товара (например, если товар штучный, а
значение Q∗ – дробное), то заказ относительно близкого размера к оптимальному не приведет к значительному увеличению затрат. После получения ответа на вопрос: сколько заказывать, ответим на вопрос когда подавать заказ. Из рис. 8.2. следует, что если мы знаем время доставки Tд [ед. в рем.] , то мы можем узнать какой объем запаса будет израсходован за это время (8.4.) h 0 = νT д ,
где ν - интенсивность потребления в единицу времени, а h 0 – точка заказа. Это означает, что если при объеме запаса h 0 мы подадим заказ, то к моменту обнуления запаса (через Tд ед. времени) заказ будет доставлен. Период поставки и интервал между подачей заказов равен τ=
Q [ед. врем.] . v
(8.5.)
8.2.4. Пример использования модели Уилсона Пример. Объем продажи некоторого магазина составляет в год 500 упаковок супа в пакетах. Величина спроса равномерно распределяется в течение года. Цена покупки одного пакета равна 2 руб. За доставку заказа владелец магазина должен заплатить 10 руб. Время доставки заказа от поставщика составляет 12 рабочих дней (при 6 – дневной рабочей неделе). По оценкам специалистов, издержки хранения составляют 20% среднегодовой стоимости запасов. Необходимо определить: 1) сколько пакетов должен заказывать владелец магазина для одной поставки; 2) частоту заказов; 3) точку заказа. Известно, что магазин работает 300 дней в году. Решение. Плановым периодом является год, ν = 500 пакетов в год, K =10 рублей, затраты на хранение одной единицы продукции в год составляют 20% от стоимости запаса в одну упаковку, т.е. s = 0,2 ⋅ 2 = 0,4 рубля. Тогда
2K ν 2 ⋅10 ⋅ 500 , пакетов. = = 15811 s 0,4 Поскольку число пакетов должно быть целым, то будем заказывать по 158 пакетов. При таком заказе годовые затраты равны Q∗ =
165
L=K⋅
500 158 Q ν + s ⋅ = 10 ⋅ + 0,4 ⋅ = 63,25 рублей в год. 2 158 2 Q
Подачу каждого нового заказа владелец магазина должен осуществлять Q 158 через τ = = = 0,316 года. Поскольку известно, что в данном случае год v 500 равен 300 рабочих дней, то τ = 0,316 ⋅ 300 = 94,8 ≈ 95 рабочих дней. Заказ 500 ⋅12 = 20 пакетам, следует подавать при уровне запаса равном h 0 = νTд = 300 т.е. эти 20 пакетов будут проданы в течение 12 дней, пока будет доставляться заказ.
8.2.5. Модель, учитывающая скидки Если цена закупки постоянна и не зависит от Q, то она не учитывается в модели, поскольку ее включение в уравнение общих затрат приводит к перемещению графика этого уравнения параллельно оси Q и не изменяет его формы (см. рис. 8.3.). Но если на заказы большого объема предоставляются скидки, то затраты на приобретение товара необходимо учитывать в модели. В данной ситуации заказы на более крупные партии повлекут за собой увеличение затрат на хранение, но это увеличение может быть компенсировано снижением закупной цены. Уравнение общих затрат для рассматриваемой ситуации получаем из (8.2.) путем добавления затрат на покупку товара Cν , где С – цена товара L=K⋅
Q ν + s ⋅ + C ν [ р уб./ пл. пе р.] . Q 2
(8.6.)
Влияние скидок на общие затраты и на управление запасами показаны на рис. 8.4. Здесь Q р1 - это так называемая точка разрыва цен, поскольку для заказов, превышающих Q р1 , товар продается по цене C1 < C . Чтобы определить оптимальный размер заказа Q ∗ в этой ситуации, надо проанализировать в какую из трех областей попадает точка разрыва цены (рис. 8.4.). Для этого применяется следующий алгоритм. 1. Определить Q w по формуле Уилсона (8.3.). 2. Если Q р1 < Q w (область 1), то Q ∗ = Q w (рис. 8.5.); иначе найти значение Q1 > Q w , при котором общие затраты, рассчитанные
для цен C и C1 совпадают, для этого надо решить уравнение L (Q w ) = L1 (Q1 ) . 166
Рис. 8.4. Влияние скидок на общие затраты
∗ Рис. 8.5. Определение оптимального размера заказа Q при Q р1 < Q w
3. Если Q w ≤ Q р1 ≤ Q1 (область 2), то
Q ∗ = Q р1 (рис. 8.6.). 167
4. Если Q р1 ≥ Q1 (область 3), то
Q ∗ = Q w (рис. 8.7.).
∗ Рис. 8.6. Определение оптимального размера заказа Q при Q w ≤ Q р1 ≤ Q1
∗ Рис. 8.7. Определение оптимального размера заказа Q при Q р1 ≥ Q1 ∗
Более кратко правило выбора Q можно записать в виде
168
⎧Q w , если 0 ≤ Q р1 < Q w (область 1), ⎪⎪ Q ∗ = ⎨Q р1, если Q w ≤ Q р1 < Q1 (область 2), ⎪ ⎪⎩Q w , если Q р1 ≥ Q1 (область 3).
(8.7.)
Рассмотрим пример, когда затраты на заказ равны 10 рублей, затраты на хранение продукции 1 рубль в сутки, интенсивность потребления товара 5 шт. в день, цена товара 2 рубля за штуку, а при объеме закупки 15 шт. и более – 1 рубль. Определить оптимальный размер заказа. Решение. K =10 руб., ν = 5 шт. в день, s =1 за шт. в сутки, C = 2 руб. за шт., Q р1 = 15 шт., C1 = 1 руб. за шт. Q=
2 ⋅ 10 ⋅ 5 = 10 шт., 1
(
)
т.е. условие шага 2 алгоритма не выполняется Q р1 = 15 > (Q = 10) . Найдем размер заказа Q1 , уравнивающий общие затраты при различном уровне цен ν Q 5 10 ⎤, + s ⋅ + C ν = 10 ⋅ + 1 ⋅ + 2 ⋅ 5 = 20 ⎡ р уб. сутки ⎢ ⎥⎦ ⎣ Q 2 10 2 Q ν 50 Q1 + s ⋅ 1 + Cν = + + 5, L1 (Q1 ) = K ⋅ 2 Q1 Q1 2 50 Q1 + + 5 = 20 , 2 Q1
L (Q ) = K ⋅
Q12 − 30Q1 + 100 = 0 , Q1 = 2618 , шт. или Q1 = 3,82 шт. Согласно шагу 2 выбираем большее значение Q1 = 2618 , шт., которое находится в области 2. Таким образом выполняется условие шага 3 алгоритма,
, ( Q ≤ Q р1 ≤ Q1 ), поэтому Q ∗ = 15 шт. Общие затраты в т.е. 10 ≤ 15 ≤ 2618
единицу времени составляют L1(15) = 10 ⋅
5 15 ⎤, + 1 ⋅ + 1 ⋅ 5 = 15,83 ⎡ р уб. сутки ⎢ ⎥⎦ ⎣ 15 2
тогда как если бы заказывали по 10 шт. товара, то общие затраты составили бы 20 рублей, т.е. при заказе в 15 шт. экономия средств составляет 4,17 рублей в сутки.
169
Вывод. Мы привели основную модель, используемую для решения задач связанных с управлением запасами – модель Уилсона. Существуют также другие модели для решения данной задачи.
8.3. Другие модели управления запасами 8.3.1. Модель планирования экономичного размера партии Основную модель, используемую для моделирования процессов закупки продукции у внешнего поставщика, можно модифицировать и применять в других ситуациях. Пример 1. Рассмотрим некоторый производственный процесс, когда на первом станке производится партия деталей с интенсивностью λ деталей в ед. времени, которые используются на втором станке с интенсивностью ν [дет./ед. врем.] (рис. 8.8.). 1 станок λ
λ
≥
детали
ν
2 станок ν
Рис. 8.8. Последовательный процесс производства с разной интенсивностью станков
Решение. Изменение уровня запасов происходит следующим образом (Рис. 8.9.). Уровень запасов Размер партии
Q
Максимальный уровень запасов
H λ ν
0
λ−ν
Средний уровень запаса H 2
Использование Время
Производство/ использование Рис. 8.9. Изменение уровня запасов 170
В данном случае модель должна определять оптимальный размер партии деталей для первого станка. Уравнение общих затрат имеет вид L = K * число партий продукции в пл. пер. + s * средний уровень запаса, (8.8.) ν . Q Средний уровень запасов, как и в предыдущей модели, равен половине его максимального уровня, который в данном случае отличен от размера партии Q. Из рис. 8.9. видно, что максимальный уровень достигается за время t1 [ед. врем.], возрастая с интенсивностью ( λ − ν) [дет. /ед. врем.], т.е. где число партий равно, как и в предыдущей модели,
H = t1( λ − ν) , t1 =
Q , λ
откуда средний запас равен H Q ( λ − ν) . = 2 2λ Тогда (8.8.) принимает вид L=K
Q ( λ − ν) ν . +s 2λ Q
(8.9.)
Выведем формулу оптимального размера партии деталей, минимизирую щей (8.9.) ∂L K ν s( λ − ν) =− + = 0; 2λ ∂Q Q2 Q∗ =
2K νλ . s( λ − ν)
Пример 2. На некотором станке производятся детали в количестве 2000 штук в месяц. Эти детали используются для производства продукции на другом станке с интенсивностью 500 шт. в месяц. По оценкам специалистов компании, издержки хранения составляют 20% средней стоимости запасов в год. Стоимость производства одной детали равна 2,50 руб., а стоимость на подготовку производства составляет 1000 рублей. Каким должен быть размер партии деталей, производимой на первом станке, с какой частотой следует запускать производство этих партий? Решение. K =1000 руб., λ = 2000 шт. в месяц или 24000 шт. в год, ν = 500 шт. в месяц или 6000 шт. в год, s = 0,2 ⋅ 2,50 = 0,50 руб. в год за деталь. 171
Q∗ =
2K νλ 2 ⋅1000 ⋅ 6000 ⋅ 24000 = = 5656,9 ≈ 5657 шт. s( λ − ν) 0,50(24000 − 6000)
Частота запуска деталей в производство равна τ=
Q 5657 = = 0,94 года или 11,28 месяцев. v 6000
Общие затраты на управления запасами составляют L=K
Q( λ − ν) 1000 ⋅ 6000 0,50 ⋅ 5657 ⋅18000 ν +s = + = 2121,32 руб. в год. Q 2λ 5657 2 ⋅ 24000
8.3.2. Модель планирования дефицита В некоторых случаях издержки хранения продукции являются гораздо более высокими, чем издержки, связанные с отсутствием запаса в течение небольшого промежутка времени. Для этого разработаны модели управления запасами, моделирующие два вида ситуаций, когда: 1) при наличии дефицита заказы покупателей не выполняются и никак не учитываются на будущее; 2) заказы покупателей «задалживаются», т.е. выполняются после получения очередного заказа. Пример первой ситуации. Администрация супермаркета, например, может принять решение о снижении уровня запасов какой-либо продукции (пакетных супов или хлебных завтраков). Это решение приведет к тому, что в каждом цикле в течение нескольких дней запасов данной продукции не будет. Из-за снижения объемов продаж и в некотором смысле потери доверия клиентов появятся определенные издержки. Поэтому администрации необходимо будет сопоставить эти издержки и величину экономии от отсутствия запасов продукции. Пример второй ситуации. В магазине, продающем электротовары, приняли решение о сокращении запасов определенного вида стиральных машин, т.к. в этих запасах замораживается большое количество капитала. Но если покупателю понадобится именно такая стиральная машина, а ее не будет на складе, то этот заказ все равно будет принят и выполнен сразу же после получения очередной партии стиральных машин. Изменение уровня запасов в обеих ситуациях представлено на рис. 8.10. и 8.11.
172
Уровень запасов Q
0
Время
hд Потеря заявок
Отсутствие выполнения заявок
Рис. 8.10. Изменение уровня запасов с учетом планирования дефицита для ситуации 1
Уровень запасов Q − hд
Q
0
Время
hд Невыполненные заявки
Выполнение заявок после получения заказа
Рис. 8.11. Изменение уровня запасов с учетом планирования дефицита для ситуации 2
173
8.3.3. Обзор существующих направлений в моделировании управления запасами Рассмотренные выше модели основывались на ряде предположений. В реальных ситуациях они часто нарушаются, что приводит к усложнению моделей управления запасами. Перечислим основные разновидности таких моделей. 1) Большинство систем управления запасами, используемых на практике, включает в себя сотни и даже тысячи наименований продукции. Типичными примерами являются крупный универмаг или завод-изготовитель. В таких случаях целесообразно ограничится исследованием тех видов товаров, которые обладают высокой годовой стоимостью продаж. Для моделирования процессов управления запасами не одного, а нескольких видов товара, разработаны так называемые многопродуктовые модели управления запасами. 2) Проблемы, связанные с наличием нескольких видов продукции, могут осложняться при ограничении на складские мощности. Так, наличие прилавков или свободной площади является ограничивающим фактором, строго определенным с точки зрения планировки каждого конкретного магазина, что оказывает влияние на создаваемую модель управления запасами. 3) На практике спрос и время поставки чаще всего являются не детерминированными, а вероятностными величинами. Для формализации фактора неопределенности в соответствующих моделях делают предположения о законе распределения конкретных параметров (чаще всего это нормальное распределение или распределение Пуассона). В этом случае принимаемые решения по управления запасами гарантируют конкретные результаты (например, недопущение дефицита) с определенной вероятностью. 4) Особо сложными являются случаи, когда система управления запасами включает сразу много объектов, например, несколько магазинов и центральный универмаг. Администрации приходится принимать решения о том, какие товары хранить и продавать в центральном универмаге, а какие в мелких магазинах, принимать решения по объемам и частоте заказов каждого вида товара. Наиболее перспективными в таких случаях являются не аналитические, а имитационные модели, которые с помощью ЭВМ «проигрывают» возможные варианты развития событий. 5) Важным моментом построения и использования моделей управления запасами является выбор критерия эффективности. Мы рассматривали модели, минимизирующие общие затраты на управления запасами. Между тем различные торговые предприятия чаще всего организуют работу своих магазинов таким образом, чтобы получать максимум прибыли, что может приводить к иным решениям. Перечисленные ситуации на практике часто комбинируются, что оказывает влияние на вид соответствующей модели управления запасами.
174
Выводы. Мы привели другие модели управления запасами и ситуации, в которых они применяются. Задача управления запасами имеет огромное практическое значение. Мы привели основные модели, которые могут помочь вам в решении проблем связанных с грамотным и эффективным управлением запасами.
Контрольные вопросы: 1. Обоснуйте необходимость управления запасами. 2. Опишите модель Уилсона. 3. Назовите модели управления запасами.
175
Глава 9 ЗАДАЧИ К ГЛАВАМ 9.1. Задачи к главе 1 Задача 1. Требуется доставить груз гуманитарной помощи в зону локального конфликта, для этого могут быть использована колонна грузовиков КамАЗ или «Урал», грузовики «Урал» более проходимые и могут пройти немного маршрутом A, в то время как грузовики КамАЗ могут пройти только маршрутом B. Эффективность нападения противника различна на маршрутах A и B. Противник имеет две возможности либо заминировать обе дороги, либо организовать засады на обеих. При минировании дорог и прохождении колонны КамАЗов по маршруту B может дойти только 1/2 груза, а при прохождении «Уралов» по маршруту A 3/4, при организации засады, может пройти 9/10 груза при прохождении КамАЗов и 11/20 при использовании «Уралов». Требуется рассчитать, какую из колонн следует использовать, при условии, что КамАЗы могу двигаться только по маршруту A, а Уралы по маршруту B. КамАЗы могут доставить груз за 2 часа, а «Уралы» за 3, также известно, что за каждый час приходит в негодность 5% груза
Решение. Составим матрицу после пересчета с учетом коэффициента для игры двух игроков (мы и противник): C (минирование) D (засада) A (КамАЗы) 2/5 4/5 B (Уралы) 3/5 2/5 Где введены следующие обозначения для стратегий игроков: A – использование колонны КамАЗов; B – использование колонны «Уралов»; C – минирование дороги; 176
D – засада. Таким образом,
max min аij = i
j
2/5 мы, отправляя «Уралы» можно
гарантировать доставку как минимум 3/5 груза, а min max аij = 3/5, т.е. игра не i
j
обладает седловой точкой. Ответ: игра не обладает седловой точкой. Задача 2. Требуется обезопасить банк от вторжения злоумышленников, используя ограниченный бюджет, владельцы банка хотят повысить безопасность, средства могут быть, потрачены на улучшение охраны хранилища либо на заключение нового контракта со спец. службами, что существенно ускорит их приезд. Злоумышленники могут напасть как в рабочие часы, в этом случае, они довольствоваться деньгами кассиров, так и в нерабочие часы, когда основной целью будет захват хранилища. В соответствии с этим было рассчитано, что в случае атаки днем и заключения нового контракта вероятность поймать грабителей увеличится на 8/15, а в случае укрепления хранилища, не измениться никак, т.к. оно не является основной целью. В случае ночного ограбления, новый контракт увеличит вероятность задержки злоумышленников на 7/10, а укрепление хранилища на 23/30. Исходя из условий, требуется выбрать наиболее целесообразное вложение денег, учитывая, что при нападении на хранилище репутации банка будет нанесен ущерб в 10 млн. рублей, а в случае похищения денег из касс 20 млн. рублей, ущерб репутации банка в 1 млн. рублей соответствует вероятности задержать злоумышленников в 1%.
Решение. Составим матрицу после пересчета с учетом коэффициента для игры двух игроков (владельцы банка и злоумышленники): C (нападение днем) D (нападение ночью) A (новый контракт) 1/3 1/2 B (укрепление хранилища) 0 2/3 Где введены следующие обозначения для стратегий игроков: A – заключение нового контракта; 177
B – укрепление хранилища; C – нападение днем; D – нападение ночью. Таким образом, max min аij = 1/2 мы, укрепляя хранилище возможно j i
повысить вероятность задержать злоумышленников как минимум на 1/2, а min max аij = 1/2, т.е. игра обладает седловой точкой. i
j
Ответ: игра обладает седловой точкой. Задача 3. Требуется получить доступ к информации, хранящейся на удаленном сервере, для этого может использоваться один из следующих вариантов проникновения: 1) атака с использованием ноутбука и использованием современных средств связи; 2) атака с использованием стационарного компьютера. Служба безопасности хранилища данных может ставить перед собой одну из двух целей: 1) максимально быстрая задержка злоумышленников; 2) максимальная защита информации сервера. При использовании ноутбука и желании владельцев сервера обеспечить задержку вероятность овладения информацией 4/5, а в случае максимальной защиты сервера всего 2/5, т.к. доступ к серверу низкоскоростной. В случае выбора атаки со стационарного компьютера группа захвата сможет осуществить задержку в короткий срок и вероятность захвата информации 2/5, а в случае максимальной защиты также 3/5, т.к. может быть использован высокоскоростной сетевой доступ. Требуется выбрать наиболее эффективный вариант организации атаки.
Решение. Составим матрицу для игры двух игроков (атакующий и защитники сервера): C (быстрая задержка) D (защита сервера) A (атака с ноутбука) 4/5 2/5 B (атака с настольного ПК) 2/5 2/3 178
Где введены следующие обозначения для стратегий игроков: A – атака с ноутбука; B – атака с настольного ПК; C – быстрая задержка; D – защита сервера. Таким образом, max min аij = 2/5 мы, а min max аij = 4/5, т.е. игра не обладает j i
i
j
седловой точкой. Ответ: игра не обладает седловой точкой. Задача 4. Требуется проникнуть на АЭ (аэродром) находящийся на территории противника. Для этого может быть использована либо танковая дивизия с пехотой, либо батальон ВДВ. В свою очередь противник для обороны может использовать либо танки и пехоту, либо полк истребителей. В случае нападения танковой дивизии на защищенную танками и пехотой территорию эффективность составит 5/6 а случае нападения ВДВ 1/3, в случае нападения танковой дивизии на защищенную пехотой территорию эффективность – 3/4, и при нападении ВДВ на защищенную ИФ территорию – 1/2 . Следует выбрать наиболее эффективный вариант захвата.
Решение. Составим матрицу для игры двух игроков (нападающий и обороняющийся): C (защита танками) D (защита ИА) A (танковая дивизия) 3/4 5/6 B (ВДВ) 1/2 1/3 Где введены следующие обозначения для стратегий игроков: A – нападение танковой дивизией; B – нападение ВДВ; C – защита танковой пехотой; 179
D – защита ИА. аij = 3/4, а min max аij = 3/4, т.е. игра обладает Таким образом, max min j i i
j
седловой точкой и выгоднее всего нападать танковой дивизией. Ответ: игра не обладает седловой точкой и выгоднее всего нападать танковой дивизией. Задача 5. Требуется обеспечить безопасность прохождения судном участка пути по воде, для этого могут использоваться подводные лодки либо авианосец. Противник может либо с воды, либо с воздуха, таким образом. Вероятность доставки будет иметь следующую зависимость: 1) используем авианосец для обороны, противник нападет с воды – 4/5; 2) используем авианосец для обороны, противник нападает с воздуха – 4/5; 3) используем подводную лодку, противник нападает с воды – 5/6; 4) используем подводную лодку, противник нападает с воздуха – 1/5. Требуется определить, какой вид защиты будет наиболее эффективен.
Решение. Составим матрицу для игры двух игроков (владельцы банка и злоумышленники): C (нападение с воды) D (нападение с воздуха) A (авианосец) 4/5 4/5 B (подводная лодка) 5/6 1/5 Где введены следующие обозначения для стратегий игроков: A – используем авианосец для обороны; B – используем подводную лодку для обороны; C – нападение с воды; D – нападение с воздуха. Таким образом, max min аij = 4/5, а min max аij = 4/5, т.е. игра обладает j i
i
j
седловой точкой и выгоднее использовать авианосец. Ответ: игра не обладает седловой точкой и выгоднее использовать авианосец. 180
9.2. Задачи к главе 2 Задача 1. Дана игра 4-х лиц (множество игроков I = {1,2,3,4} ). На I задана характеристическая функция v : v({1}) = 5 , v({2}) = 6 , v({3}) = 7 , v({4}) = 9 ,
v({1,2}) = 12 , v({1,3}) = 14 , v({1,4}) = 16 , v({2,3}) = 14 , v({2,4}) = 17 , v({3,4}) = 17 ,
v({1,2,3}) = 21 , v({1,2,4}) = 24 , v({1,3,4}) = 25 , v({2,3,4}) = 26 , v({1,2,3,4}) = 33
Определить, доминирует ли дележ x дележ y по коалиции S . S = {1,2,3}, x = (6,7,8) , x = (5,6,7 ) . Решение. Условие xi > y i выполняется для всех i ∈ S : x1 > y1 (6 > 5) , x 2 > y 2 , x3 > y 3 . Условие x(S ) ≤ v(S ) также выполняется: x(S ) = 6 + 7 + 8 = 21 , v(S ) = v({1,2,3}) = 21 . Тогда, по определению, дележ x доминирует y по S . Ответ: дележ x доминирует y по S . Задача 2. Дана игра 4-х лиц (множество игроков I = {1,2,3,4} ). На I задана характеристическая функция v : v({1}) = 5 , v({2}) = 6 , v({3}) = 7 , v({4}) = 9 ,
v({1,2}) = 12 , v({1,3}) = 14 , v({1,4}) = 16 , v({2,3}) = 14 , v({2,4}) = 17 , v({3,4}) = 17 , v({1,2,3}) = 21 , v({1,2,4}) = 24 , v({1,3,4}) = 25 , v({2,3,4}) = 26 , v({1,2,3,4}) = 33
Определить, доминирует ли дележ x дележ y по коалиции S . S = {1,2,4} , x = (7,8,8) , x = (5,6,13) . Решение. Условие xi > y i не выполняется для i = 4 x 4 < y 4 (8 < 13) . Тогда, по определению, дележ x не доминирует y по S . Ответ: дележ x не доминирует y по S . Задача 3. Дана игра 4-х лиц (множество игроков I = {1,2,3,4} ). На I задана характеристическая функция v : v({1}) = 5 , v({2}) = 6 , v({3}) = 7 , v({4}) = 9 ,
v({1,2}) = 12 , v({1,3}) = 14 , v({1,4}) = 16 , v({2,3}) = 14 , v({2,4}) = 17 , v({3,4}) = 17 ,
v({1,2,3}) = 21 , v({1,2,4}) = 24 , v({1,3,4}) = 25 , v({2,3,4}) = 26 , v({1,2,3,4}) = 33
Определить, доминирует ли дележ x дележ y по коалиции S . S = {1,3,4} , x = (6,9,8) , x = (5,12,7 ) . 181
Решение. Условие xi > y i не выполняется для i = 3 x 3 < y 3 (9 < 12 ) . Тогда, по определению, дележ x не доминирует y по S . Ответ: дележ x не доминирует y по S . Задача 4. Дана игра 4-х лиц (множество игроков I = {1,2,3,4} ). На I задана характеристическая функция v : v({1}) = 5 , v({2}) = 6 , v({3}) = 7 , v({4}) = 9 ,
v({1,2}) = 12 , v({1,3}) = 14 , v({1,4}) = 16 , v({2,3}) = 14 , v({2,4}) = 17 , v({3,4}) = 17 ,
v({1,2,3}) = 21 , v({1,2,4}) = 24 , v({1,3,4}) = 25 , v({2,3,4}) = 26 , v({1,2,3,4}) = 33
Определить, доминирует ли дележ x дележ y по коалиции S . S = {2,3,4}, x = (9,8,7 ) , x = (11,6,7 ) . Решение. Условие xi > y i не выполняется для i = 2 x 2 < y 2 (9 < 11) . Тогда, по определению, дележ x не доминирует y по S . Ответ: дележ x не доминирует y по S .
9.3. Задачи к главе 3 Задача 1. Пусть заданы: f (t , x, u, v) = (1+ | x | +t )u + v, u (t , x) = x 2 + 2 + t , v(t , x) = −1;
начальная позиция: {0, 0}, U ÷ u (t , x) Определить, является ли движение x(t ) , порожденное стратегией U убывающей или возрастающей функцией. Решение. В начальной позиции t = 0 , поэтому t > 0 , x 2 > 0 поэтому u (t , x) = x 2 + 2 + t > 2 ,
1+ | x | +t > 1 , (1+ | x | +t )u > 2 , f (t , x, u, v) = (1+ | x | +t )u + v > 1 , x ′ = f (t , x, u, v) > 1 – производная x(t ) положительна, следовательно движение x(t ) , порожденное стратегией U является возрастающей функцией. Ответ: движение x(t ) , порожденное стратегией U является возрастающей
функцией.
182
Задача 2. Пусть t 0 , x0 , τ – зафиксированы, множество возможных стратегий состоит из четырех элементов: U ∈ (U 1 ,U 2 ,U 3 ,U 4 ) , причем каждая из U i порождает четыре движения xij , j = 1,2,3,4. . Значения для ϕ (xij (t , t 0 , x0 ,U i ), t o ≤ t ≤ τ ) приведены в таблице 9.1. Таблица 9.1. j =1
5 1 3 7
i =1 i=2 i=3 i=4
j=2
j=3
4 3 2 4
1 8 1 7
j=4
1 2 2 1
Определить U 0 – решение задачи 3.1. Решение. Пусть p(i, j ) = sup ϕ (xij (t , t 0 , x0 ,U i ), t o ≤ t ≤ τ ) т. к. стратегия U 0 должна x
удовлетворять условию,
sup ϕ (xij (t , t 0 , x0 ,U 0 ), t o ≤ t ≤ τ ) = min U sup ϕ (xij (t , t 0 , x0 ,U ), t o ≤ t ≤ τ ), то нужно найти i0 , x
x
sup p(i, j ) , тогда U 0 будет равно U i 0 . удовлетворяющее условию sup p(io , j ) = min i j
j
sup p (1, j ) = 5 j
sup p (2, j ) = 8 j
sup p (3, j ) = 3 j
sup p (4, j ) = 7 j
min sup p(i, j ) достигается при i = 3 , тогда io = 3 , т. е. U 0 = U 3 . i
j
Ответ: U 0 = U 3
9.4. Задачи к главе 6 Задача 1. Пример на симплекс – метод. Определить минимум линейной функции L = 5 x1 − 2 x3 . (9.1.) При условиях ограничениях: x5 = 5 x1 + x 2 − 2 x3 + 2;⎫ ⎪ x6 = x1 − x3 − x 4 + 5; ⎬ ⎪ x7 = 3 x1 − 5 x 4 + 7, ⎭
(9.2.)
183
которые приведены к форме, т.к. n − m = 7 − 3 = 4 , где в качестве свободных переменных выбраны x1 , x2 , x3 и x 4 и в качестве базисных x5 , x6 , x7 . Решение. Положим, в качестве первого шага решения, свободные переменные равными нулю x1 = x 2 = x3 = x 4 = 0
(9.3.)
и подставим (9.3.) в систему уравнений (9.2.), получим x5 = 2; x6 = 5; x7 = 7 .
(9.4.)
Подставляя (9.3.) в линейную форму (9.1.) имеем L =0.
(9.5.)
Заметим, что решение (9.3.), (9.4.) является опорным, т.к. все свободные члены в (9.2.) неотрицательны. Если хотя бы один свободный член в (9.2.) был отрицательным, то необходимо было бы менять местами некоторые базисные и свободные переменные до тех пор, пока свободные члены в уравнениях вида (9.2.) не станут неотрицательными. Решение (9.3.), (9.4.) не является оптимальным, т.к. в выражении (9.1.) коэффициент при x3 отрицателен, следовательно, увеличивая x3 можно уменьшить L . Переменная x3 входит в 1-е и 2-е уравнение (9.2.), причём коэффициенты перед переменной в обоих уравнениях отрицательны. Выбираем из этих двух уравнений то, в котором отношение свободного члена к отрицательному коэффициенту перед x3 меньше по абсолютной величине, т.е. x5 = 5 x1 + x 2 − 2 x3 + 2 .
(9.6.)
Разрешаем уравнение (9.6.) относительно x3 x3 =
5 1 1 x1 + x 2 − x5 + 1 . 2 2 2
(9.7.)
Подставляем (9.7.) во второе уравнение (9.2.): 3 1 1 x6 = − x1 − x 2 + x5 − x 4 + 4 . 2 2 2
184
(9.8.)
Третье уравнение (9.2.) оставляем без изменения, т.к. переменная x3 в него не входит x7 = 3x1 − 5 x 4 + 7 .
(9.9.)
Таким образом, мы привели систему (9.2.) к системе (9.7.)÷(9.8.) со свободными переменными x1 , x2 , x5 , x4 и базисными x3 , x6 , x7 . Выразим (9.1.) через новые свободные переменные L = 5 x1 − 5 x1 − x 2 + x5 − 2 = − x 2 + x5 − 2 .
(9.10.)
В качестве второго шага решения, положим все свободные переменные равными нулю x1 = x 2 = x5 = x 4 = 0 .
(9.11.)
Подставим (9.11.) в (9.7.), (9.8.) и (9.9.), получим опорное решение x3 = 1; x6 = 4; x7 = 7 .
(9.12.)
Подставляя (9.11.) в (9.10.), получим L = −2 .
(9.13.)
Это второе решение лучше, чем прежнее L = 0 . Однако это решение также не оптимально, т.к. коэффициент перед переменной x 2 в (9.10.) отрицателен. В уравнении же (9.8.) коэффициент перед x 2 отрицателен, поэтому обменяем местами переменные x 2 и x6 ( x 2 – выведем из свободных в базисную переменную, x6 – наоборот). x 2 = −3 x1 − 2 x6 + x5 − 2 x 4 + 8;⎫ ⎪ x3 = x1 − x 6 − x 4 + 5; ⎬ ⎪ x7 = 3 x1 − 5 x 4 + 7. ⎭
(9.14.)
Выразим L (9.10.) через новые свободные переменные L = 3 x1 + 2 x6 − x5 + 2 x 4 − 8 + x5 − 2 = 3x1 + 2 x6 + 2 x 4 − 10 .
(9.15.)
Третий шаг, полагаем все свободные переменные равными нулю: x1 = x6 = x5 = x 4 = 0 .
(9.16.) 185
Подставляя (9.16.) в линейную форму (9.15.), получим L* = −10 .
(9.17.)
Это решение (9.17.) является оптимальным, т.к. коэффициенты при свободных переменных в (9.15.) являются положительными. Итак, оптимальное решение определяется подстановкой (9.16.) в (9.14.): x1* = 0; x 2* = 8; x3* = 5; x 4* = 0; x5* = 0; x6* = 0; x7* = 7 .
(9.18.)
Таким образом, симплекс-метод заключается в переходе от одного допустимого решения к другому путем замены одной группы базисных переменных другой. Каждый такой переход сопровождается уменьшением критерия эффективности. Ответ: x1* = 0; x 2* = 8; x3* = 5; x4* = 0; x5* = 0; x6* = 0; x7* = 7 . Задача 2. Пример на геометрический метод решения. Найти оптимальное решение, которое обращает в максимум (минимум) линейную функцию семи переменных: L = x1 − x 2 + 2 x3 − x 4 − 3x5 + x6 − 2 x7 (9.19.) при пяти уравнениях-ограничениях: x1 − x2 + x3 = 4; ⎫ 2 x1 − x2 − x3 − x4 = −5;⎪⎪ ⎪ x1 + x2 − x5 = −4;⎬ x2 + x6 = 5; ⎪ ⎪ 2 x1 − 2 x2 − x6 + 2 x7 = 7; ⎪⎭
(9.20.)
xi ≥ 0, i = 1, 7.
(9.21.)
Решение. Выбираем в качестве свободных переменных x1 , x 2 и выразим через них остальные (базисные) переменные x3 ÷ x7 . Из 1-го уравнения (9.20.) Из 3-го уравнения (9.20.) Из 4-го уравнения (9.20.)
x3 = 4 − x1 + x 2 . x5 = 4 + x1 + x 2 . x6 = 5 − x 2 .
(9.22.) (9.23.) (9.24.)
Подставляя x3 (9.22.) во 2-е уравнение (9.20.) x 4 = 1 + 3 x1 − 2 x 2 .
186
(9.25.)
Подставляя x6 (9.24.) в 5-е уравнение (9.20.) x7 = 6 − x1 + 0,5 x 2 .
(9.26)
Так как по условию (9.21.) все переменные должны быть неотрицательны, то: x1 ≥ 0; x2 x3 x4 x5 x6 x7
⎫ ⎪ ≥ 0; ⎪ = 4 − x1 + x 2 ≥ 0; ⎪ ⎪ = 1 + 3 x1 − 2 x 2 ≥ 0; ⎬ = 4 + x1 + x 2 ≥ 0; ⎪ ⎪ = 5 − x 2 ≥ 0; ⎪ ⎪ = 6 − x1 + 0,5 x 2 ≥ 0.⎭
(9.27.)
x7 = 0 x3 = 0
x4 = 0
7
x1=0
x2 6
B
5
m in
4 3
ОДР
2
m ax
1
x2=0
A(0,0) -5
-4
-3
-2
1
-1
x6=0
2
3
4
5
6
7
8
9
10
x1
-1 -2 -3 -4 -5
x5 = 0
-6 -7 -8 -9 -10 -11 -12
Рис.4
Рис. 9.1. График прямых по уравнениям (9.27.)
На графике (рис. 9.1.) представлены семь прямых, построенных по уравнениям (9.27.) для крайнего значения, равного нулю. Штриховка прямой проводится с той стороны, где xi > 0 , т.е. там где выполняется условие неотрицательности переменной, т.е. выделяется «допустимая полуплоскость». Часть плоскости, принадлежащая одновременно всем «допустимым полуплоскостям», есть область допустимых решений (ОДР). 187
Теперь необходимо из числа допустимых решений найти оптимальное, которое обращает в максимум (минимум) линейную функцию (9.19.). Для графического решения необходимо базисные переменные (9.27.) подставить в линейную форму (9.19.), т.е. выразить целевую функцию через свободные переменные. После приведения подобных членов, получим L = −12 − 5 x1 − 2 x 2 .
(9.28.)
В уравнении (9.28.) свободный член, не зависящий от переменных x1 и x 2 можно отбросить, т.к. максимум достигается при одних и тех же значениях x1 и x 2 у функции L ′ = −5 x1 − 2 x 2 .
(9.29.)
Строим основную прямую (9.29.) на графике: например задаёмся L ′ = 0 x1 0 2 –2 x2 0 –5 5 Перемещая основную прямую параллельно самой себе в сторону возрастания L ′ , получаем в точке A наибольшее значение L′ , где x1* = x2* = 0 . Минимум L ′ в точке B , координаты которой определяются точкой пересечения прямых x6 = 0 и x7 = 0 . Решая эти уравнения, получим координаты точки B . 5 − x 2 = 0,
⎫ ⎬ 6 − x1 + 0,5 x 2 = 0.⎭
x1* = 8,5,
→
x 2* = 5.
Подставляя x1* и x2* в уравнения (9.27.), находим оптимальные значения для базисных переменных: min
max x = 4; x = 1; x = 4; x = 5; x = 6.
x = 0,5; x = 16,5; x5* = 17,5; x6* = 0; x7* = 0.
Подставляя их в (9.19.), получим:
Подставляя их в (9.19.), получим:
* 3
* 4
* 5
* 6
* 7
* 3
L = 8,5 − 5 + 2 ⋅ 0,5 − 16,5 − 3 ⋅ 17,5 + 0 − 0 = −64,5
L = 2 ⋅ 4 − 1 − 3 ⋅ 4 + 5 − 2 ⋅ 6 = −12
То же самое имеем и использовании формулы (9.28.): L* = −12 .
* 4
при То же самое получим при подстановке в формулу (9.28.): L* = −12 − 5 ⋅ 8,5 − 2 ⋅ 5 = −64,5 .
Выводы: 1. оптимальное решение, если оно существует, всегда лежит на границе ОДР; 188
2. оптимальных решений может быть бесчисленное множество, если основная прямая параллельна ограничивающей прямой, где L достигает максимума (минимума). Т.е. он достигается не в одной точке, а на всей этой ограничивающей прямой (рис. 9.2.); x1
ОДР max
x2
Рис. 9.2. Оптимальное решение, если основная прямая параллельна ограничивающей прямой, где L достигает максимума (минимума)
3. оптимальных решений не существует, если ОДР неограниченна в направлении максимизации (минимизации) L (рис.9.3.); x2
ОДР max
x1
Рис. 9.3. Оптимальное решение, если ОДР неограниченна в направлении максимизации (минимизации) L
4. оптимальное решение всегда достигается в одной из вершин многоугольника ОДР. Решение, расположенное в одной из вершин ОДР, называется опорным решением, а сама вершина – опорной точкой; 5. для определения оптимального решения достаточно перебрать все вершины ОДР и выбрать ту, где функция L достигает максимума (минимума); 6. если число свободных переменных равно 2, а число базисных m и оптимальное решение существует, то оно всегда достигается в точке, где по крайней мере две из переменных обращаются в нуль (в нашем примере: на максимум – x1* = x2* = 0 , на минимум – x6* = x7* = 0 ); 7. если в опорной точке пересекаются более двух ограничивающих прямых, то такой случай называют вырожденным, и тогда в оптимальном решении обращаются в нуль не две, а столько переменных, сколько ограничивающих прямых пересекаются в опорной точке. 189
Если n − m = 3 , то геометрические построения необходимо производить в трехмерном пространстве. Ограничения представляются в виде плоскостей. ОДР будет представлять собой выпуклый многогранник, ограниченный этими плоскостями. Роль «основной прямой» в этом случае будет выполнять «основная плоскость». На этом мы останавливаться не будем, т.к. все выводы предыдущего случая аналогичны, но менее обозримы геометрически. Ответ: решение для максимума: x3* = 4; x4* = 1; x5* = 4; x6* = 5; x7* = 6. ; решение для минимума: x3* = 0,5; x4* = 16,5; x5* = 17,5; x6* = 0; x7* = 0.
9.5. Задачи к главе 7 Задача 1. Кадровому органу объединения поставлена задача уяснить общественное мнение жителей гарнизонов и осуществить подбор на контрактую военную службу. Постройте сетевую модель программы опроса общественного мнения, которая включает разработку (A; 1 день) и распечатку анкет (B; 0,5 дня), прием на работу (C; 2 дня) и обучение (D; 2 дня) персонала, выбор опрашиваемых лиц (E; 2 дня), рассылку им анкет (F; 1 день) и анализ полученных данных (G; 5 дней). Решение. Из условия задачи нам известно содержание работ, но явно не указаны взаимосвязи между работами. Поэтому для их установления необходимо проанализировать смысл каждой конкретной работы и выяснить, какие из остальных работ должны ей непосредственно предшествовать. Исходной работой, начинающей сетевой график, в данном случае является «прием на работу» (С), поскольку все остальные работы должны выполняться уже принятыми на работу сотрудниками. Перед выполнением всех работ по опросу общественного мнения сотрудников необходимо обучить персонал (D). Перед тем как разослать анкеты (F), их надо разработать (A), распечатать (B) и выбрать опрашиваемых лиц (E), причем работу с анкетами и выбор лиц можно выполнять одновременно. Завершающей работой проекта является анализ полученных данных (G), который нельзя выполнить без предварительной рассылки анкет (F). В результате этих рассуждений построим сетевую модель и пронумеруем события модели (см. рис. 9.4.).
4 A 1
C
2
D
3
B E
5
F
6
G
Рис. 9.4. Сетевая модель программы опроса общественного мнения
190
7
Задача 2. Постройте сетевую модель, включающую работы A, B, C, ..., L, которая отображает следующее упорядочение работ: A, B и C – исходные операции проекта; A и B предшествуют D; B предшествует E, F и H; F и C предшествует G; E и H предшествуют I и J; C, D, F и J предшествуют K; K предшествует L. Решение. В пункте 1 условия явно указано, что A, B и C являются исходными работами, поэтому изобразим их тремя стрелками, выходящими из исходного события 1. Пункт 2 условия означает, что стрелки работ A и B должны окончиться в одном событии, из которого выйдет стрелка работы D. Но поскольку стрелки работ A и B также и начинаются в одном событии, то имеет место параллельность работ, которая недопустима правилами построения сетевых моделей (см. рис. 9.5.). D 3 ...
D
A B
A
...
B
1
C
2
C
...
...
Рис. 9.5. Устранение параллельности работ A и B
Для ее устранения введем дополнительное событие 2, в которое войдет работа B, после чего соединим события 2 и 3, в которые входят работы A и B пунктирной стрелкой фиктивной работы. В данном случае фиктивная работа (2,3) не соответствует никакой реальной работе, а лишь отображает логическую связь между работами B и D. Дальнейшее построение рассмотрим с помощью рис. 9.6.
D
3
2 C
8
6
H 1
K
J
A B
7
I
E F
L 9
5 G 4
Рис. 9.6. Сетевая модель 191
Согласно пункту 3 условия задачи из события 2, выходят три стрелки работ E, F и H. Согласно пункту 4 условия задачи стрелки работ C и F должны войти в общее событие, из которого выйдет стрелка работы G. Проблема с параллельностью работ E и H (пункт 5 условия задачи) решается путем введения дополнительного события 5 и фиктивной работы (5,6). Для отображения в сетевой модели пункта 6 условия задачи введем стрелки работ D и J в событие 7, а связь работ F и C с работой K отобразим с помощью фиктивной работы (4,7). Стрелки работ F и C нельзя было напрямую вводить в событие 7, потому что после них должна следовать работа G, которая с работами D и J никак не связана. Стрелка работы L выходит из события 8, т.е. после окончания работы K в соответствии с пунктом 7 условия задачи. Поскольку в условии не указано, что работы L, I и G предшествуют какимлибо другим работам, то эти работы являются завершающими и их стрелки войдут в завершающее событие 9. Нумерацию событий проводят после построения сетевого графика, следя за тем, чтобы номер начального события каждой работы был меньше номера ее конечного события.
9.6. Задачи к главе 8 Задача 1. Пусть затраты на заказ боеприпасов равны 10 у.е., затраты на хранение боеприпасов 1 условная единица. в сутки, интенсивность потребления боеприпасов 5 шт. в день, цена боеприпасов – 2 у.е. за штуку, а при объеме закупки 15 шт. и более – 1 у.е. Определите оптимальный размер заказа, цену покупки и затраты на УЗ. Решение. Начинаем решение с приблизительного построения пунктирными линиями графиков двух функций общих затрат, соответствующих двум ценам, которые указываем над соответствующими линиями затрат: c = 2 у.е./шт. и c1 = 1 у.е./шт. (рис. 9.7.).
192
Рис. 9.7. Общие затраты на УЗ
Поскольку объем заказа, задаваемый формулой Уилсона, легко определяется зрительно, как точка минимума обеих функций, то без предварительных вычислений графически находим объем Уилсона QW и отмечаем его на графике. Только после этого, используя параметры K = 10 у.е., v = 5 шт. в день, s = 1 у.е. за 1 шт. в сутки, вычисляем значение QW и подписываем его на графике под обозначением QW . QW =
2 ⋅ 10 ⋅ 5 = 10 [шт.]. 1
Очевидно, что в область I Q p1 = 15 шт. не попадает, т.к. Q p1 > QW . Таким образом, Q p1 может попасть в области II или III. Границей между этими областями служит размер заказа Q1 , уравнивающий общие затраты при цене со скидкой 1 у.е./шт. и затраты при заказе Qw по исходной цене 2 руб/шт. Сначала строим Q1 графически (рис. 9.8.).
193
Рис. 9.8. Построение Q1 на графике общих затрат УЗ
Только после этого найдем Q1 численно. Используя рис. 9.8., запишем выражение, показывающее равенство затрат, Lc (QW ) = Lc1 (Q1 ) ,
(9.30.)
с численными значениями параметров: L2 (10) = L1 (Q1 ) .
После использования формулы главы 8 для раскрытия левой и правой частей (9.30.) получаем 5 v 10 Q + s ⋅ + cv = 10 ⋅ + 1 ⋅ + 2 ⋅ 5 = 20 [у.е./сут.], 2 10 Q 2 Q Q 5 50 Q1 v L1 (Q) = K ⋅ + s ⋅ 1 + c1v = 10 ⋅ + 1⋅ 1 + 1⋅ 5 = + + 5, 2 2 Q1 Q1 Q1 2 50 Q1 + + 5 = 20 , Q1 2 L2 (Q) = K ⋅
Q1 − 30Q1 + 100 = 0 , 2
Q1 = 26,18 шт. или Q1 = 3,82 шт.
194
Всегда выбираем больший из корней Q1 = 26,18 , т.к. меньший по значению корень не дает нам информации о границе областей II и III (см. рис. 9.8.), и отмечаем численное значение 26,18 на графике. Таким образом, точка разрыва цен Q pl = 15 попадает в область II, т.к. 10 < 15 < 26,18 ( Q < Q pl < Q1 ). Отметим эту точку на графике в любом месте области II (рис. 9.9.).
Рис. 9.9. Оптимальное решение
После этого сплошной линией обведем те участки обеих функций затрат, которые соответствуют действующим ценам, т.е. до объема Q p1 = 15 обведем верхнюю линию затрат, а после – нижнюю. Согласно правилу и графику (см. рис. 9.9.) оптимальным является объем заказа Q * = 15 шт. по цене 1 у.е./шт. Таким образом, в данной ситуации скидкой пользоваться выгодно. Общие затраты при этом составляют L1 (15) = 10 ⋅
5 15 + 1⋅ + 1 ⋅ 5 = 15,83 (у.е./сут.). Если бы заказывали по 10 шт. товара, то 15 2
общие затраты составили бы 20 рублей, т.е. при заказе в 15 шт. экономия средств составляет 4,17 рублей в сутки. Ответ: оптимальным является объем заказа Q * = 15 шт. по цене 1 у.е./шт. Общие затраты при этом составляют L1 (15) = 15,83 [у.е./сут.]. Задача 2. На выставке вооружений и военной технике в Ле-Бурже представлены идентичные типы вооружений и военной техники фирмы, поставщики ракет предоставляют следующие скидки для сторон закупщиков. 195
Размер заказа 1–199 200–499 500 и более
Цена, у.е./шт. 2 1,96 (2% скидки) 1,92 (4% скидки)
Стоит ли владельцу фирмы представляющей закупающую сторону воспользоваться одной из скидок предоставленной фирмами поставщиками. Каковы при этом будут размер заказа и общие затраты на УЗ? Решение. Строим пунктирными линиями графики трех функций затрат и обозначаем на них соответствующие цены c = 2 , c1 = 1,96 и c2 = 1,92 (рис. 9.10.). Строим на графике точку, соответствующую Q w .
Рис. 9.10. Решение с двумя скидками
Вычисляем значение QW = 158 (см. решение задачи 1), отмечаем это значение на графике. Поскольку Q p1 = 200 не попадает в область I, то необходимо найти границу областей II и III. Для этого строим на графике уровень затрат, соответствующий заказу QW и цене c = 2 у.е. до пересечения со второй линией затрат, и графически находим и строим Q1 . Находим Q1 численно, используя выражение Lc (QW ) = Lc (Q1 ) или L2 у.е./шт (158)= L1,96 у.е./шт ( Q1 ); Q1 = 343 (шт.). 1
196
Используя правило и график на рис. 9.10., находим более дешевый объем заказа (с учетом только первой скидки) Q*1 = Q p1 = 200 (шт.). Чтобы рассмотреть вторую скидку, построим на графике уровень затрат, соответствующий заказу, оптимальному при действии только первой скидки, т.е. Q*1 = Q p1 = 200 и цене c1 = 1,96 у.е./шт. При пересечении этого уровня и третьей линии общих затрат графически определяем Q2 . Находим численно Q2 = 354 , исходя из выражения Lc1 (Q*1 ) = Lc (Q2 ) или L1,96 у.е.(200)= L1,92 у.е.( Q2 ). Используя правило и график затрат, находим наиболее дешевый объем заказа с учетом первой и второй скидок Q* = Q p1 = 200 шт. Таким образом, пользоваться второй скидкой владельцу магазина невыгодно. Оптимальный для него вариант – заказывать 200 пакетов по цене 1,96 у.е./шт. обойдется в L1,96 у.е.(200)=1045 (у.е./год). Ответ: оптимальный для него вариант – заказывать 200 пакетов по цене 1,96 у.е./шт. обойдется в L1,96 у.е.(200)=1045 (у.е./год). 2
197
ЗАКЛЮЧЕНИЕ Переход к методам интенсивного развития, создание новых технологий, проектирование сложных многофункциональных систем, удовлетворяющих противоречивым требованиям, обеспечение эффективного взаимодействия людей и коллективов в социальных системах требуют выработки рациональных решений, на основе прогноза развития ситуаций. Формирование таких решений обычно опосредовано несовпадающими интересами сторон, реализующих эти решения в партнерском взаимодействии друг с другом или в отношениях конфликта. Следствием несовпадения интересов является противоречивость возникающих задач выбора. Переход российского общества на рыночные пути развития с присущей им высокой соревновательностью, формирование политической системы с более широкими (и остроконкурентными) возможностями выдвижения в лидеры, признание, что в обществе нет единой для всех правды, превращают ситуацию конфликта (т.е. ситуацию взаимодействия при несовпадающих интересах) в типичный аспект общественных отношений. Важным инструментом повышения качества обсуждаемых решений являются научные подходы, раскрывающие фундаментальные характеристики конфликтного поведения на основе математического моделирования процессов выбора.
198
СПИСОК ЛИТЕРАТУРЫ 1. Айзекс Р. Дифференциальные игры. М.:Мир,1967 2. Беллман Р. Динамическое программирование. М.:ИЛ,1960 3. Беллман Р., Гликсберг И., Гросс О. Некоторые вопросы математической теории процессов управления. М.:ИЛ,1962 4. Берж К. Теория графов и ее применения. М.:ИЛ,1962 5. Блекуэлл Д., Гиршик М. Теория игр и статистических решений. М.:ИЛ,1958 6. Болтянский В.Г. Математические методы оптимального управления. М.:Наука,1966 7. Вентцель Е.С. Исследование операций, М.:Советское радио,1972 8. Вентцель Е.С. Теория вероятностей.М.:Физматгиз,1962 9. Гермейер Ю.Б. Введение в теорию исследования операций. М.: Наука, 1971 10. Гермейер Ю.Б. Игры с непротивоположными интересами. М.: Наука, 1976 11. Демьянов В.Ф., Малоземев В.Н. Введение в минимакс. М.:Наука,1972 12. Дрешер М. Стратегические игры. М.: Советское радио,1964 13. Жигулин Г.П., Новосадов С.Г., Яковлев А.Д. Информационная безопасность. СПб.: СПб ГУ ИТМО, 2003. 14. Жигулин Г.П. Прогнозирование угроз автоматизированным системам управления. СПб.: СПб ГУ ИТМО, 2003. 15. Карлин С. Математические методы в теории игр, программировании и экономике. М.: Мир, 1964 16. Кофман А., Фор Р. Займемся исследованием операций. М.:Мир,1966 17. Льюис Р.Д., Райфа Х. Игры и решения. М.:ИЛ, 1961 18. Мак-Кинси Дж. Введение в теорию игр. М.:Физматгиз,1960 19. Маудера Дж., С. Элмаграби. Исследование операций. В 2-х томах. М.:Мир,1981 20. Морз Ф., Кэмпбелл Д. Методы исследования операций. М.:Советское радио,1963 21. Дж.фон Нейман, О.Моргенштерн. Теория игр и экономическое поведение. М.: Наука, 1970 22. Оуен Г. Теория игр. М.:Мир,1971 23. Райветт П., Акофф Р.Л. Исследование операций. М.:Мир,1966 Т. Математические методы исследования операций. 24. Саати М.:Воениздат,1963 25. Саати Т. Элементы теории массового обслуживания и ее приложения. М.:Советское радио,1965 26. Сухарев А.Г., Тимохов А.В., Федоров В.В. Курс методов оптимизации. М.:Наука,1986 27. Феллер В. Введение в теорию вероятностей и ее приложения. М.:Мир,1964 199
28. Хинчин А.Я. Работы по математической теории массового обслуживания. М.:Физматгиз,1963 29. Хедли Дж., Уайтин Т. Анализ систем управления запасами. М.:Наука,1969
200
СОДЕРЖАНИЕ ВВЕДЕНИЕ…..……………………………………………………………….. Глава 1 МАТРИЧНЫЕ ИГРЫ………………………………………….......... 1.1. Предмет и основные понятия теории игр……………….……. 1.1.1. Основные понятия и определения…………..………….... 1.1.2. Классификация игр……………………………………...... 1.1.3. Матрица игры (платежная матрица……….……………... 1.1.4. Оптимальные стратегии, цена игры……………………... 1.1.5. Решение игры в смешанных стратегиях………………… 1.2. Решение матричных игр двух лиц с нулевой суммой, принцип максимина…………………………………………….. 1.2.1. Методы решения игр……………………………………... 1.3. Решение и геометрическая интерполяция игр 2х2…………… Выводы………………………………………………………………. Контрольные вопросы……………………………………………… Глава 2 КООПЕРАТИВНЫЕ ИГРЫ………………………………………… 2.1 Арбитражные схемы……………………………………………. 2.2. Классические кооперативные игры…………………………... 2.3. Кооперативные игры с бесконечным числом игроков………. Выводы………………………………………………………………. Контрольные вопросы………………………………………………. Глава 3 ДИФФЕРЕНЦИАЛЬНЫЕ ИГРЫ…………………………………... 3.1. Стратегии движения……………………………………………. 3.2. Свойства движений…………………………………………….. 3.3. Постановка задачи……………………………………………… Выводы………………………………………………………………. Контрольные вопросы……………………………………………… Глава 4 МНОГОКРИТЕРИАЛЬНЫЕ ЗАДАЧИ……………………………. 4.1. Многокритериальные задачи, понятия и определения………. 4.2. Весовые критерии………………………………………………. 4.3. Множество эффективных решений…………………………… Выводы………………………………………………………………. Контрольные вопросы………………………………………………. Глава 5 МОДЕЛИ ИССЛЕДОВАНИЯ ОПЕРАЦИЙ………………………. 5.1. Основные принципы исследования операций. Предмет исследования операций……………….…………………………….. 5.1.1. История развития исследования операций…………..….. 5.1.2. Особенности ИО и связь с другими научными дисциплинами……………………………………………………. 5.2. Операция и ее математическая модель. Особенности операций. Критерий эффективности………………………………. 5.2.1. Определение информационной операции………………. 5.2.2. Математическая модель ИО………………………………
стр 3 4 4 4 6 7 10 14 16 16 18 27 27 28 28 31 41 44 44 45 45 51 57 61 61 62 62 68 77 79 79 80 80 81 83 84 84 86 201
5.2.3. Общая математическая постановка задачи исследования ИО………………………………………………… 5.2.4. Оценка операции по нескольким показателям………….. 5.2.5. Структура проектов исследования операций…………… 5.2.6. Некоторые принципы принятия решения в ИО………… 5.2.7. Принятие решений в условиях определенности………... 5.2.8. Принятие решений в условиях риска……………………. 5.2.9. Принятие решений в условиях неопределенности……... 5.3. Основные классы задач исследования операций. Классификация по типам задач…………………………………….. Выводы………………………………………………………………. Контрольные вопросы………………………………………………. Глава 6 ОПТИМАЛЬНОЕ ПЛАНИРОВАНИЕ…………………………….. 6.1. Построение линейных оптимизационных моделей……….…. 6.1.1. История развития исследования операций…………..….. 6.1.2. Алгебраическая формулировка задачи линейного программирования в общем виде………………………………. 6.1.3. Каноническая форма задач линейного программирования………………………………………………. 6.1.4. Существование допустимых решений канонической формы задач ЛП…………………………………………………. 6.2. Алгебраическое и геометрическое представление линейных оптимизационных моделей……….………………………………… 6.3. Аналитические методы решения задач ЛП…………………… 6.3.1. Метод последовательного улучшения решения (симплекс-метод)………………………………………………... 6.3.2. Пример определения решения симплексным методом… Выводы………………………………………………………………. Контрольные вопросы………………………………………………. Глава 7 СЕТЕВОЕ ПЛАНИЕРОВАНИЕ И УПРАВЛЕНИЕ………………. 7.1. Введение в сетевое планирование……….……………………. 7.1.1. Метод сетевого планирования и управления…………… 7.1.2. Структурное планирование………………………………. 7.1.3. Пример построения сетевого графика…………………... 7.1.4. Календарное планирование………………………………. 7.2. Методика расчета временных параметров работ……….……. 7.3. Оптимизация сетевых моделей………………………………... 7.3.1. Оптимизация использования ресурса рабочей силы…… 7.3.2. Оптимизация типа «время-затраты»…………………….. 7.3.3. Неопределенность времени выполнения операций…….. Выводы………………………………………………………………. Контрольные вопросы………………………………………………. Глава 8 ЗАДАЧА УПРАВЛЕНИЯ ЗАПАСАМИ…………………………... 8.1. Введение в задачу управления запасами……….……………... 8.1.1. Постановка задачи………………………………………... 202
91 93 95 100 101 105 106 107 109 109 110 110 110 115 116 119 121 125 126 128 130 130 131 131 131 132 136 138 141 143 143 147 157 158 158 159 159 159
8.1.2. Основные понятия и определения……………………….. 8.2. Основная модель……….……………………………………….. 8.2.1. Основная модель управления запасами…………………. 8.2.2. Допущения модели Уилсона……………………………... 8.2.3. Построение модели……………………………………….. 8.2.4. Пример 1 использования модели Уилсона……………… 8.2.5. Модель, учитывающая скидки…………………………… 8.3. Другие модели управления запасами……….………………… 8.3.1. Модель планирования экономичного размера партии…. 8.3.2. Модель планирования дефицита………………………… 8.3.3. Обзор существующих направлений в моделировании управления запасами……………………………………………. Выводы………………………………………………………………. Контрольные вопросы………………………………………………. Глава 9 ЗАДАЧИ К ГЛАВАМ………………………………………………. 9.1. Задачи к главе 1……….………………………………………... 9.2. Задачи к главе 2……….………………………………………... 9.3. Задачи к главе 3……….………………………………………... 9.4. Задачи к главе 6……….………………………………………... 9.5. Задачи к главе 7……….………………………………………... 9.6. Задачи к главе 8……….………………………………………... ЗАКЛЮЧЕНИЕ…..………………………………………………………….. СПИСОК ЛИТЕРАТУРЫ…………………………………………………..
160 162 162 162 163 165 166 170 170 172 174 175 175 176 176 181 182 183 190 192 198 199
203