Использование ресурсов
Контролируемые Неконтролируемые
Оперирующая сторона:
1. Лицо, принимающее решения (ЛПР).
Оно декларирует свою
неудовлетворенность
2. Исследователь (аналитик) – специалист, который способен понять неудовлетворенность ЛПР и найти пути ее
преодоления.
3. Эксперт – профессионал, к которому обращаются за оценками и рекомендациями все, включенные в процесс принятия
решения.
Внешняя среда определяет факторы, влияющие на принятие решения. Факторы с одной стороны могут быть
контролируемыми (отражающие возможности по использованию ресурсов), с другой стороны, существуют неконтролируемые
факторы, влияющие на принятие решения (ПР). В общем случае, это разделение условно, но всегда должны быть контролируемые
факторы, иначе нет смысла говорить об операциях.
Неконтролируемые факторы создают реализации - обстановку/организацию бизнес процесса. Знания определяют все
дальнейшие действия оперирующей стороны.
Неконтролируемые факторы
Детерминированные Стохастические
Обстановка В условиях
проведения операции неопределенности
Детерминированные факторы - факторы, значения которых априори известны и в этом случае действия оперирующей
стороны приводят к результатам, которые могут быть количественно вычислены.
Стохастические факторы - факторы, представляющие собой случайные процессы с известными знаниями (величинами)
распределения. В этом случае любое конкретное действие приводит к случайному результату, такому, что его распределение
может быть вычислено.
Неопределенные факторы - определяются действиями некоторой стороны, имеющей свои цели, не совпадающие с целями
оперирующей стороны и имеющие актуальные средства и ресурсы для достижения своих целей:
● неопределенности, связанные с действиями разумной стороны, имеющей свои ресурсы, цели;
● природные неопределенности (расположение нефтяных пластов). Проявление в том, что они недостаточно изучены;
● неопределенности, появляющиеся в нечетких постановках задач или в нечетком определении ресурсов.
Классификация некоторых факторов позволяет разделить задачи принятия решения на 3 класса:
1) Детерминированные задачи (конкретное решение приводит к конкретному результату, который может быть вычислен);
все параметры модели известны точно или могут быть оценены с необходимой точностью, внешняя среда не учитывается;
2) Стохастические задачи (конкретное решение приводит к 1-му из возможных случайных рез-ов, распределение которого
может быть вычислено);
3) Задачи в условиях неопределенности (конкретное решение приводит к 1му из результатов, распределение которого не
может быть вычислено, но могут быть найдены границы для результатов); внешние факторы учитываются, но распределение
вероятностей отсутствует.
2. Примеры задач
1. Детерминированные задачи - каждое действие приводит к конкретным результатам.
В типичном виде выбор решений в детерминированной задаче сводится к следующему: дано множество возможных
действий (стратегий) и нужно выбрать одно, несколько или все, которые дают максимум (или минимум) некоторого заданного
критерия.
X =( X 1 , X 2 , ... , X n)- операция
X i - некоторая характеристика операции
X - множество операций
X ¿ - оптимальное решение
Y =(Y 1 ,Y 2 , ... ,Y n ) - внешняя среда, неконтролируемые факторы (Y - множество)
K ( X ,Y ) - критерий эффективности
K ( X ,Y )→ max(min)- постановка
X ¿ c X , что K ( X , Y ) ≥ K ( X , Y ) , ∀ X ∈ X
¿
Задачи ПР при риске (стохастические задачи ПР) возникают в тех случаях, когда с каждым принимаемым решением
x 1∈ Ω связано множество исходов из m возможных результатов S1 ,... , S n с известными вероятностями
P( S j∨x i), j=1 , n , i=1 ,m , т.е. в этих задачах нет однозначной связи между альтернативами и исходом. При P( S j∨x i)=1, задачи ПР при
риске и детерминированные задачи ПР совпадают.
Исследование операций - способ давать плохие ответы, на те практические исследования, на которые другие способы дают
еще более худшие ответы.
Исследование операций:
1. Описание целей
2. Построение операций (формирование способов действий)
3. Описание условий, в которых проводятся операции: ресурсы, возможности их использование и т.д.
4. Построение математической модели, которая отражает цели, условия проведения операций и их результаты.
5. Поиск оптимальных решений на модели
Системный анализ (по Ю. Дегтяреву) - совокупность средств научного познания и прикладных исследований,
используемых для поиска и обоснования решений по сложным проблемам технического, социального, военного, экономического,
политического и прочего характера.
Системный анализ включает анализ целей, исследование их противоречивости, построение схем компромиссов и далее поиск
“оптимальных” решений.
1. анализ целей
2. исследование их противоречий
3. построение схем их компромиссов
4. поиск “оптимальных” решений
Предмет - системы (физические системы, технические системы, экономические системы).
Два главных подхода к системам:
Система (более 50 понятий) - это совокупность элементов, связанных между взаимными отношениями, такая что любые два
подмножества этого множества не являются независимыми.
Это порядок, по которому устанавливается группа понятий, по которой образуется единое целое.
Система - это целостное множество элементов, функционирующих для достижения определенных целей.
Целостность - это вступление по отношению к внешнему миру и восприятие её им как единого целого.
Система является сложной, если она превосходит возможности исследования в каких-то аспектах, важных для достижения
цели (У. Эшби). Важные свойства больших (сложных) систем - эмерджентность.
Эмерджентность - это такое системное качество, которое присуще системе как таковой и не выводится из свойств элементов
системы.
Описательные системы:
● нормативные
● уравновешенные
Пример: солнечная система.
4. Основные принципы ТПР
● Системный подход
● Комплексный подход
● Научный подход
Методология - это учение о научных методах познания окружающего мира и система методов, используемых в тех или иных
исследованиях.
Метод - это способ познания, или исследования явлений физической природы или общественной жизни, или прием, способ,
образ действия.
Средство методологии - метод максимальной вероятности среди многогранного множества, которое обладает теми или
иными свойствами.
Методика - совокупность методов и приемов целесообразного проведения какой-либо работы.
Принципы (основа, начало) - основное исходное положение какой-либо теории (учения), основное правило поведения,
руководящая идея, внутреннее убеждение, взгляды на вещи, определяющие норму поведения, основа устройства какого-либо
механизма.
4.1. Системный принцип (подход)
Предполагает рассмотрение системы во всем множестве элементов, которые ее составляют, и связей между ними.
Установление общих целей, стоящих перед системой и сосредоточение внимания на них, а не на отдельных целях, стоящих
перед отдельными частями системы.
Принципы системного подхода практически реализуются в элементах научной базы системного анализа. Сам системный
анализ – это совокупность конкретных, имеющих практическую направленность методических подходов, практических методов и
алгоритмов, позволяющих реализовать теоретические концепции и главные идеи системного подхода в рамках социально-
экономических и технических проблем.
Основной концепцией системного подхода, как процесса, является взаимосвязь отдельных частей или подсистем
целостной системы, функционирующих для достижения общих целей, стоящих перед системой, а не отдельных целей отдельных
подсистем (частей). Создаваемая система должна достигнуть синергизма.
Синергизм (в оценках эффективности) - это совместное функционирование элементов системы, которое обеспечивает
совокупный эффект, больший, чем суммарный эффект, полученный от функционирования отдельных элементов этой системы.
Системный подход, как один из видов деятельности системного анализа, проявляется в следующих аспектах:
1. Организационный аспект
В организационном аспекте системный подход требует такой организации исследований, при которых в первую очередь
формируются общие цели, стоящие перед системой. Эти цели определены четко и одинаково толкуются (понимаются) всеми
участниками исследования.
2. Творческий аспект
Творческий аспект проявляется в том, что в любом проекте отражаются особенности разработчика: образование, опыт,
наклонности и другие личностные качества. В каждом конкретном проекте в той или иной степени проявляется личность того
системного аналитика, который этот проект вел.
3. Теоретический аспект
В теоретическом аспекте системный подход дает нам некую общую схему решения, рассматриваемую как некий скелет
решения. А конкретные данные, конкретные знания параметров являются вторичными.
4. Экспериментальный аспект
В экспериментальном аспекте системный проект пр-ся в том, что, как правило, получение данных на начальных этапах
исследования недоступно, то есть на начальном этапе любое исследование сталкивается с недостатком информации об объекте.. И
мы в процессе исследования должны получить необходимые данные. Получение данных - через Интернет, библиотеку,
физические исследования.
5. Прагматический аспект
В прагматическом аспекте системный подход пр-ся в том, что созданная нами система должна быть упрощенной,
эффективной и “понятной” и она должна обеспечивать достижение целей, стоящих перед системой в целом, наилучшим образом.
В этом и состоит прагматика:
Систем
Цел Требован Компонент
ав
и ия ы
целом
Данные
о
системе
Любая система укладывается в эту схему. Деятельность начинается с построения цели (понять, что делать).
Системный подход предполагает обоснование решений по управлению системами на основе критериев экономической
эффективности.
Системный подход предполагает решение задач, связанных с достижением конкретных целей. По мере решения задач в нее
включают новую задачу и так - до охвата всей системы в целом.
Системный подход ограничен нормативными или управленческими системами.
В системном анализе есть 2 подхода к системе:
1. Описательный (дескриптивный) подход - описание поведения системы (“Как системы себя ведут?”).
2. Нормативный подход - подход к управлению системы (“Как система себя должна вести?”).
Нормативный подход ограничен системами, которые хотя бы частью являются управляемыми - нормативные системы.
Для суммирования составов системы нужны ресурсы.
Условная противоположность системному подходу - индуктивный подход.
Индуктивный подход:
Требовани
Данные Цели Компоненты Система
я
Здесь цели понятны. Исходное состояние - данные. Это ближе к “исследованию операций”, где цель определена.
4.2. Комплексный принцип (подход)
Принцип комплексного подхода заключается в учете совокупности всех составляющих проблемы, выделении важнейших ее
сторон и установления эффективной взаимосвязи между элементами. В каждом из аспектов функционирования системы
необходимо свои знания, свой опыт, а не наличие специалистов, которые обладали всеми этими знаниями и могли бы предложить
наилучшее решение в силу наших ограниченных возможностей.
Не упустить при поиске решения по управлению системами какие-то важные аспекты, необходимые для функционирования
системы - идея комплексного подхода.
Любая реальная система - многогранна, человек не обладает всеми знаниями ⇒ нужно собрать общие знания.
4.3 Научный принцип (подход)
Научный принцип - решение задач (получение новых знаний), с которыми мы впервые столкнулись (мы - первые) ⇒ эти
решения после нас могут быть использованы.
Научный подход к выбору варианта действий из множества возможностей предполагает:
● построение математических, экономических и статистических моделей для задач принятия решений и управления в
сложных ситуациях или условиях неопределенности;
● изучение взаимосвязей, определяющих возможные последствия принимаемых решений;
● установление критериев эффективности, позволяющих оценить преимущества различных вариантов действий.
ограничиваться анализом единственного варианта решения. Нужно обязательно искать другие варианты, выработать другие
альтернативы для решения проблемы, чтобы на основании рационального сравнения их между собой выбрать действительно
наиболее предпочтительное разрешение проблемы. Подобная рациональная идея, которой следует руководствоваться при
выработке решений, получила название принципа множественности альтернатив. По-существу, суть концепции "наилучшее
решение" сводится к выбору той альтернативы, которая является лучшей из рассматриваемых. Известная концепция
оптимальности в математике и исследовании операций есть не что иное, как формальное выражение концепции наилучшего
решения, а именно для случая, когда в качестве критерия предпочтительное используется единственный скалярный показатель.
Разумеется, чтобы сравнить альтернативы по правилу "лучше - хуже", "более предпочтительный - менее предпочтительный",
нужно использовать мерила, то есть критерии. В этой связи рациональным следствием концепции наилучшего решения является
принцип измерения. В укрупненном виде основу методологии современной ТПР составляют системный подход (в форме
концепции системы) и идея измерения признаков предпочтительности альтернатив для обеспечения задач моделирования и
рационального выбора наилучшего решения. Неуклонный рост масштабов и сложности задач требуют решительного снижения
вероятности ошибок при выборе наилучшего решения. Это привело к развитию аппарата количественного анализа решений.
Принципы рациональных решений предполагают, прежде всего, моделирование реальной ситуации, то есть представление ее в
упрощенном для изучения виде с сохранением всех значимых характеристик и связей. После моделирования предполагается
всестороннее измерение связанных с нею результатов достижения целей. Использование указанных принципов позволяет
существенно снизить вероятность ошибки при принятии решений. Парадигма (от греч. Paradeigma – пример, образец для
подражания) рациональных решений по мере своего развития претерпела ряд изменений. Вначале она делала акцент на
использовании чисто формальных методов, основанных на физических измерениях. При этом родились такие классические
постановки задач и методы исследования операций, как транспортная задача, задача массового обслуживания, задачи сетевого
планирования, задачи управления запасами, задача о назначении и др. Указанные формальные методы не всегда оказывались
хорошо приспособлены к практическим делам, что зачастую приводило к нежелательным результатам, - особенно в области
политики и разрешения конфликтов. Новый импульс развитию парадигмы рациональных решений придала методология
системного анализа. Основная цель системного исследования
состоит в совершенствовании структурирования проблемы с тем, чтобы научиться правильно ставить вопросы и применять
формальные методы только там, где это приносит реальную пользу. Парадигма ациональных решений ориентирована главным
образом на глубокий анализ, слабо структурированных проблем, четкую формулировку измеримых целей и задач, на
декомпозицию (расчленение, расслоение) исходной проблемы. Это позволяет придать убедительность, научную обоснованность
и формальную непротиворечивость решениям, предвосхитить которые априори невозможно.
Модель проблемной ситуации.
Как только ЛПР осознало важность и срочность проблемы, которую ему предстоит решить, оценило принципиальную
возможность выделить на ее решение активные ресурсы, у него обычно возникает желание устранить проблему в кратчайшие
сроки. В таком случае ЛПР приходит в состояние специфического психологического напряжения, обусловленного
необходимостью одновременно найти ответы сразу на несколько вопросов:
● в чем существо проблемы?
● с чего начать?
● какую информацию, какого качества, к какому сроку и откуда получить?
● какие конкретно из активных ресурсов, когда, где, для чего и в каком количестве задействовать?
● с помощью каких критериев оценивать успех и неудачу планируемой операции? и еще многое другое.
Подобное психологическое затруднение, состояние творческого поиска, обусловленное необходимостью отыскания ответов
на столь разные и все же тесно переплетающиеся вопросы, будем называть проблемной ситуацией. Процесс выработки решений
включает следующие основные этапы (этапы выработки решений):
● уяснение проблемы (задачи);
● оценка обстановки, формирование замысла предстоящих действий и отдача предварительных распоряжений подчиненным
на подготовку к предстоящей операции; обоснование решения (анализ механизма ситуации, формирование множества
альтернатив, получение и оценка результатов для альтернатив, измерение и моделирование предпочтений для принятия
решения);
● принятие решения, его юридическое оформление и доведение до исполнителей плана проведения операции;
● всесторонняя организация выполнения решения, организация кoнтpoля и взаимодействия;
● немедленное оказание помощи в случае обнаружения в ходе контроля существенного отклонения течения операции от
намеченного плана;
● завершение операции: оценка фактически достигнутых результатов, подведение общих итогов операции, фиксация и
организация изучения с подчиненными накопленного в ходе операции опыта.
Схематично процесс исполнения ЛПР функций управления в ходе выработки им решений представлен на Рис. 4.
Для того чтобы системно подойти к выполнению всех указанных этапов выработки решений, чтобы компактно представить
себе всю проблему, совокупность операций по ее разрешению, ЛПР, целесообразно вначале построить ее упрощенный образ, то
есть - модель проблемной ситуации.
В качестве модели проблемной ситуации примем совокупность взаимосвязанных вербальных и формальных задач
обоснования решений, последовательное решение которых приведет к желаемой цели - к выбору наилучшей альтернативы.
Под задачей будем понимать упорядоченное высказывание, состоящее из двух частей: того, что известно, или дано; и то,
что неизвестно, но требуется найти. Эту упорядоченную пару высказываний будем также называть вербальной (описательной,
словесной) или содержательной постановкой задачи.
Для решения сформулированной вербальной задачи формальными методами ее "переводят" на математический язык и
получают формальную или математическую постановку задачи. При этом элементы вербальных высказываний заменяют
формальными. Для этого вводят идентификаторы, обозначающие переменные и константы, а фигурирующие в вербальных
высказываниях физические, экономические, социальные и другие связи моделируют введением логических, арифметических,
алгебраических и других математических связей между переменными и константами. Области допустимых значений
управляемых и неуправляемых факторов (проявления законов природы, ограничения на активные ресурсы и пр.) определяют
уравнениями и неравенствами требуемого вида.
Модель проблемной ситуации представлена на Рис. 1.5 в виде структуры частных задач обоснования решений.
Значительная часть из этой совокупности задач решается лично ЛПР, а результаты их решения доводятся до исполнителей в виде
планов действий и критериев оценки для того, чтобы исполнители могли судить о правильности исполнения ими намеченных
ЛПР планов.
5. Организация
Операционная задача всегда включает в себя вопрос “Что делать?”. Если существуют различные хотя бы 2 способа,
достижения цели и не ясно, какой из способов лучше, то данный вопрос становится операционной задачей, т.е. включает не
очевидную проблему выбора.
Организация - это определенный класс систем, отражающих предмет исследования в операционных задачах.
Составляющие организации:
● Состав - определяет элементы, из которых состоит система (люди, сырье, материалы, машины, технологии, заводы).
● Структура - отражает связи между элементами, их иерархию, соподчиненность.
● Информация - некоторая субстанция, отражающая содержание связи между элементами организации. Информация
обозначает содержание, которое берется из окружающего мира в процессе общения с ним. Информация: данные,
документы, сигналы.
● Управление - любая нормативная (управляемая) организация, функционирующая для достижения целей, должна иметь
возможность определять цели, оценивать свое поведение в соответствии этим целями и управлять своей траекторией
для достижения этих целей.
Удобная функция представления - информационная модель организации. Представляется в виде графа, где узлы - состав
организации, дуги графа - процессы обмена информацией и управления. Расположение узлов может отражать структуру
организации, соподчинения (могут быть включены пояснения, комментарии). Не может быть использована для решения задач
управления.
“ЛЭТИ”
Ректор
КБ ИС АСОИУ
2. Задачи и методы экспертного оценивания
Методы экспертных оценок - это методы организации работы со специалистами-экспертами и обработки мнений
экспертов. Эти мнения обычно выражены частично в количественной, частично в качественной форме. Получаемое в результате
обработки обобщенное мнение экспертов принимается как решение проблемы. Комплексное использование интуиции
(неосознанного мышления), логического мышления и количественных оценок с их формальной обработкой позволяет во многих
случаях получить эффективное решение проблемы.
Существует две группы экспертных оценок:
● индивидуальные – может быть задействован один эксперт, если его квалификации достаточно для снятия
информационной неопределенности по проблеме, однако обычно привлекают несколько экспертов для повышения надежности
экспертизы. Индивидуальность заключается в том, что эксперты независимы друг от друга. Разных экспертов могут опрашивать
относительно разных аспектов одной проблемы, также могут быть различны процедуры опроса разных экспертов.
● коллективные – предполагают коллективную работу экспертов (очную или заочную), требуют согласования мнений
всех экспертов и разработку общего экспертного вывода на основе консенсуса. Групповые методы предпочтительнее с точки
зрения повышения надежности экспертизы, однако они весьма сложны по подготовке и проведению.
● антирефлексивность:
∀ x ∈ A xRx , т. е. xRy → x ≠ y
● симметричность:
∀ x , y ∈ A xRy → yRx
● антисимметричность:
∀ x , y ∈ A xRy ∧ yRx → x= y
● асимметричность:
∀ x , y ∈ A xRy → yRx
● транзитивность:
∀ x , y , z ∈ A xRy ∧ yRz → xRz
Виды отношений:
● Отношение эквивалентности (рефлексивное, симметричное, транзитивное):
x∼ y
● Отношение строгого порядка (антирефлексивное, асимметричное, транзитивное):
x> y
● Отношение частичного порядка (рефлексивное, антисимметричное, транзитивное):
x≥ y
2. Экспертные оценки как числовые характеристики:
o 1 , o 2 , ... , om – факторы качественной природы, подлежащие оцениванию.
v1 , v1 ,.., v m – экспертные оценки, полученные в результате экспертизы.
oi → vi
Свойства:
● независимость (оценка фактора o i не зависит от o i) :
v(oi )≠ f (v (oi))
● монотонность:
o i> o j → v i > v j
o i ∼o j → v i=v j
● аддитивность:
v(oi )=v i
v(o j)=v j
v(oi ∧o j )=v i + v j
● следствие аддитивности:
v(oi ∧o j ) = v(o j ∧ oi )
v(oi ∧o j ) = v(oi )⇒ v (o j )=0
∑ aik
a i= k=1
❑
2. Балльные оценки
Членов сформированной группы экспертов просят выставить баллы объектам, изделиям, технологическим процессам,
предприятиям, проектам, заявкам на выполнение научно-исследовательских работ, идеям, проблемам, программам, политикам и
т.п., а затем рассчитывают средние баллы и рассматривают их как интегральные оценки, выставленные коллективом опрошенных,
как результаты работы «мультиразума».
По традиции обычно применяют среднее арифметическое. Однако специалисты утверждают, что такой способ некорректен,
поскольку баллы обычно измерены в так называемой порядковой шкале. В качестве средних баллов обоснованным является
использование медиан. В то же время полностью игнорировать средние арифметические нерационально из-за их привычности и
распространенности. Поэтому целесообразно использовать одновременно оба метода – и метод средних арифметических рангов
(баллов), и методов медианных рангов.
Такая рекомендация находится в согласии с концепцией устойчивости, которая рекомендует использовать различные
методы для обработки одних и тех же данных с целью выделить выводы, получаемые одновременно при всех методах.
3. Метод парных оценок
В данном методе k-й эксперт сравнивает каждую альтернативу с каждой. Результатом такого сравнения является матрица
размерности n×n, в которой
a kij ∈ { 0,1 } , akij + akji=1( i≠ j); a kii=0.
a kij=1 , если x i> x j или 0 , если x i< x j .
После экспертного опроса получают m матриц Ak , каждая из которых выражает мнение одного k-го эксперта. Для получения
m
общей оценки используют процедуру суммирования. Причем сначала вычисляют матрицу A=∑ A k . Затем находят итоговую
k=1
n
оценку каждой i-й альтернативы a i=∑ aij , где a ij – элемент матрицы А.
j=1
ρ( y , a)= [∑
i=1
2
(a i− y i) . ]
За целевую функцию (обобщенный критерий) берут выражение:
m
2
X ∈ D , f (X )=∑ λ i [ a i−Fi ( X ) ] ,
i=1
С учетом нормировки:
m 2
ai −F i (X )
X ∈ D , min ∑ λi
i=1 [ F0i ].
Здесь принцип оптимальности выражается функцией выбора определяемой близостью к идеальной точке. В качестве
идеальной точки берут директивные значения параметров, заданные заказчиком и описанные в ТЗ (техническом задании).
Например, когда все или основные условия работоспособности имеют вид равенств, т.е. F i( X )= T T i, где T T i – значение
технического требования, предъявленные к i-му критерию. Тогда целевая функция имеет вид:
m 2
F ( X )−TT i
i=1[
X ∈ D , f (X )=∑ λ i i
Fi
0
] →min по y.
Методы получения коллективных оценок
Для формирования обобщенной оценки группы экспертов чаще всего используются средние величины.
Среднеарифметическое балльных оценок (Э - эксперт, А - принятое решение) рассчитывается по формуле:
x
1
x= ∑x
n i =1 i
Приведем небольшой пример в таблице:
А1 А2
Э1 5 3
Э2 0 3
Ср.арифм. 2.5 3
За среднюю величину мы можем также взять медиану. Медиана в математической статистике — число, характеризующее
выборку (например, набор чисел). Если все элементы выборки различны, то медиана — это такое число выборки, что ровно
половина из элементов выборки больше него, а другая половина меньше него.
Для примера рассмотрим малую выборку - решение пяти экспертов:
1 2 3 4 5
5 11 3 5 9
Для наглядности упорядочим последовательность: {3, 5, 5, 9, 11}. Видно, что медианой в данном случае является число 5.
Принцип Кондорсе
Для получения коллективной оценки немаловажен принцип Кондорсе. Речь идет о выборе из нескольких кандидатов.
Согласно принципу Кондорсе, для определения истинной воли большинства необходимо, чтобы каждый голосующий
проранжировал всех кандидатов в порядке их предпочтения. После этого для каждой пары кандидатов определяется, сколько
голосующих предпочитает одного кандидата другому — формируется полная матрица попарных предпочтений избирателей.
Рассматривая ранжирование выбираемых решений можно использовать правило Борда.
Согласно этому методу результаты голосования выражаются в виде числа баллов, набранных каждым из кандидатов. Так,
при выборах из n кандидатов каждый голосующий ранжирует всех кандидатов строго по убыванию предпочтения, за первое
место по предпочтению кандидату присваивается n баллов, за второе — n-1 баллов и т. д. (за последнее место — 1 балл), все
набранные баллы кандидатами суммируются. Соответственно, победителем выборов считается кандидат, набравший наивысший
суммарный балл.
Приведем пример в таблице.
Аi - кандидат, принимаемое решение, Э i - эксперт.
Э1 А1 А2 А3
Э2 А1 А3 А2
Э3 А2 А3 А1
Э4 А3 А2 А1
√∏
n
i−1
aij =a j ,
где n - размерность матрицы; a ij - элемент j-ой строки матрицы. Таким образом, матрице N i сопоставляется вектор a i.
Нормирование компонент осуществляется путем деления каждой компоненты вектора a i на сумму всех компонент этого вектора:
ai
b j=
∑ aj.
❑
Нормированный вектор b j соответствует весовым коэффициентам дуг, соединяющих i-й элемент предыдущего уровня
со всеми элементами следующего уровня. Если ввести в рассмотрение матрицу влияний элементов нижнего уровня на элементы
предыдущего уровня Bl, где l - номер уровня иерархии, то векторы b j будут являться ее столбцами.
6. После получения данных необходимо определить их согласованность. Степень согласованности для каждой матрицы
приближенно вычисляется следующим способом: суммируется каждый столбец матрицы суждений, и сумма первого столбца
умножается на величину первой компоненты нормализованного вектора приоритетов, сумма второго столбца - на вторую
компоненту и т. д. Полученные числа суммируются. Таким образом можно получить величину
n n
(
λ max=∑ b i ∑ a ji .
i =1 j=1
)
Используя отклонение λ max от n, находят индекс согласованности (ИС), сравнивая который с соответствующими средними
значениями для случайных элементов, получают отношение согласованности (ОС). (Подробно получение оценок согласованности
приведено в 6.)
7. Этапы 3, 4, 5 и 6 проводятся для всех уровней иерархии.
8. Производится поэтапная оценка весовых коэффициентов элементов каждого следующего уровня иерархии:
C i=Ci −1 × Bi,
где C i−1 - вектор весовых коэффициентов элементов предыдущего уровня, а Bi - матрица влияний элементов нижнего
уровня на элементы предыдущего уровня, состоящая из векторов, полученных по формуле; i - номер уровня иерархии.
9. Согласованность всей иерархии можно найти, перемножая каждый индекс согласованности на приоритет
соответствующего критерия и суммируя полученные числа. Затем результат делится на выражение такого же типа, но со
случайным индексом согласованности, соответствующим размерам каждой взвешенной приоритетами матрицы. Приемлемым
является отношение согласованности около 10% или менее. В противном случае качество суждений следует улучшить, изменив
способ, следуя которому задаются вопросы при проведении парных сравнений. Если это не помогает улучшить согласованность,
то, вероятно, задачу следует более точно структурировать, т.е. сгруппировать аналогичные элементы под более значащими
критериями. Потребуется возврат к этапу 2, хотя пересмотра могут потребовать только сомнительные части иерархии.
3. Многокритериальная оптимизация ()
Многокритериальная оптимизация. Основные проблемы ()
Многокритериальная оптимизация — это процесс одновременной оптимизации двух или более конфликтующих целевых
функций в заданной области определения.
Как правило, при выборе оптимальных стратегий мы ориентируемся на достижение различных целей, зачастую
противоречивых, иногда несовместимых.
В практике решение задач ограничивается только задачами скалярной оптимизации, зачастую являющейся
неприемлемыми, поскольку мы не можем ограничится учетом только одной из целей наших действий, поэтому в реальных
постановках, мы вынуждены учитывать различные цели и выбирать стратегию образующую соответствующую конкретику
содержания постановки задачи. При этом возникают следующие проблемы:
● определение областей (множества возможных стратегий и оценок, каждые стратегии по всему множеству
рассмотренных целей)
● определение механизмов взятия локальных целей при поиске оптимальных в некотором смысле решения
● определение мер эффективности стратегии по каждой цели и поиск стандартной, либо общей меры эффективности.
В таких задачах объект исследования характеризуется множеством различных качеств. Как правило, эти качества
неоднородны (имеют разные размерности). Критерии противоречивы. Необходимо найти такое решение, которое в некотором
смысле является наилучшим в части достижения «оптимальной» глобальной оценки по всем этим качествам.
В таких задачах рассматриваемым объектом исследования является система, составленная из ряда объектов, которые
связаны между собой. Каждый объект характеризуется некоторым скалярным критерием, а система в целом характеризуется
векторным критерием. Необходимо найти такое решение для системы, которое, повлияв на функционирование объектов, даст
нам результат, наилучший для системы в целом. В таких задачах, как правило, локальные критерии однородны (имеют
одинаковые размерности).
В данной постановке рассматривается система, которая может находиться в различных внешних условиях. Для каждого
конкретного диапазона условий система характеризуется скалярным критерием. Для всего множества возможных условий
система характеризуется векторным критерием. Необходимо найти такое решение, которое окажется наилучшим для всех
возможных условий, в которых может оказаться система. В таких задачах локальные критерии, как правило, однородны.
Пример:
Рассматриваются системы в процессе эксплуатации (или в жизненном цикле), которые проходят через несколько этапов.
Для каждого конкретного этапа эффективность систем характеризуется некоторым скалярным критерием. Необходимо
найти решение, которое будет наилучшим для всех этапов. В таких задачах локальный критерий однороден.
Для каждого этапа эксплуатации нужны свои характеристики и решения, обеспечивающие эффективность системы на всех
этапах.
В данном случае существуют различные требования к системе. Эффективность системы для каждой конкретной задачи
оценивается скалярным критерием. Необходимо найти такое решение для системы в целом, которое окажется лучшим на
множестве всех возможных постановок. Все локальные постановки являются однородными.
Спрос неизвестен.
В таких задачах каждый локальный критерий в свою очередь является векторным. Все локальные постановки являются
однородными.
Проблемы:
S – система;
Определение 1.
Пусть Ck, cj принадлежат c ̃ . Ck } cj ( Ck доминирует над cj ) если fi(ck) ≥ fi(cj) для всех i = 1,2 … m и строго доминирует если
fi(ck) > fi(cj) для всех i принадлежащих , где I ̃ ' = ▁ (1 , m), I ' ⊂ I и P( I ' )≥ 1( (мощность множества больше 1)
Определение 2.
Определение 3.
Определение 4.
Будем рассматривать локальные оценки как координаты нашей стратегии в некотором m-мерном пространстве
(пространстве критериев).
c ̃ с -"согласия";
c ̃п ∪ c ̃с = c ̃;
c ̃п ∩ c ̃с = ∅;
c ̃¿c ̃ п = c ̃ с - ?
Будем рассматривать локальные оценки как координаты нашей стратегии в некотором m-мерном пространстве
(пространстве критериев).
Ортопт – это множество точек в пространстве критериев, которые доминируют над данной точкой.
S; o ̃ , c ̃ ; F = (f1, f2, …, fm)
fi→ max, i = ▁ (1 , m)
fi(ck) ≥ fi(cj), i = ▁ (1 , m)
Опишем Парето-множество:
f1, f2 → max
Множество исходных точек, ортопт которых пересекается с исходным множеством в вершине ортопта → над этой точкой
нет доминирующей → она неулучшаемая → она из множества Парето → улучшим наше положение → занимаемся
решениями на Парето-множестве.
Нормирование критериев
Некоторые схемы компромиссов предполагают суммирование или сравнение эффективности по отдельным локальным
критериям. Для этого все меры оценивания по локальным критериям должны быть сведены к некоторой общей или стандартной
мере. Это и есть нормирование критериев.
Ранжирование критериев
Некоторые схемы компромиссов предполагают учет важности или значимости критериев. Для этого критерии
ранжируются по степени важности
f1 >f2 >…>fm
Есть коэффициент значимости, когда каждому критерию приписывается определенное число (коэффициент).
1. Свертка или взвешенная сумма локальных эффективностей
S; {Oi}; {cj} = ~c ;F = (f1 ,f2 ,…,fm), fi→ max, i ¿ 1 , m
Для определенности.
Вводится вектор весовых коэффициентов:
W = (w1, w2, …, wm)
opt F = {w1f1(cj)+w2f2(cj)+…+wmfm(cj) → max
та стратегия наилучшая, которая обеспечивает максимум – оптимальная.
С одной стороны, весовой коэффициент отражает степень важности.
С другой стороны, обеспечивает пересчет мер для оценки эффективности.
Ищем максимальное значение первого критерия на всем множестве допустимых решений. Затем назначаем
величину «допустимого» снижения (уступки) Δ1 критерия и определяем наибольшее значение второго критерия
при условии, что значение первого критерия должно быть не меньше, чем - Δ1. Затем назначаем величину
«допустимого» снижения (уступки) Δ2 критерия и определяем наибольшее значение третьего критерия
при условии, что значение второго критерия должно быть не меньше, чем - Δ2 и т. д. Таким образом, оптимальным решением
многокритериальной задачи считается всякое решение последней из задач последовательности:
1) найти в области
……………………………………………………………….
Очевидно, что если все Δi =0, то метод уступок находит только лексикографически оптимальные решения, которые
доставляют первому по важности критерию наибольшее на Х значение. В другом крайнем случае, когда величины уступок очень
велики, решения , получаемые по этому методу, доставляют последнему по важности критерию наибольшее на Х значение.
Поэтому величины уступок можно рассматривать как своеобразную меру отклонения приоритета частных критериев от жесткого
лексикографического.
Метод последовательных уступок не всегда приводит к получению только эффективных точек, но среди этих точек всегда
существует хотя бы одна эффективная. Это следует из следующих утверждений [2].
Утверждение. Если X⊂Rn - множество замкнутое и ограниченное, а функции f i(x) непрерывны, то решением m-й
задачи из (6) является, по крайней мере, одна эффективная точка.
Утверждение. Если x∗ - единственная (с точностью до эквивалентности) точка, являющаяся решением m-й задачи из (6),
то она эффективна.
Метод идеальной точки
Предположим, что X ограниченное замкнутое множество, тогда все задачи имеют решения.
Полученную точку назовем идеальной [5], так как ни по одному критерию нельзя получить большее
значение. Идеальной точкой для множества X будет точка α=(α 1, α2,…, αm), в которой Обычно точка α не
принадлежит множеству Х. Введем понятие расстояния между двумя точками ρ(a,b) в пространстве Rm :
Теперь решение многокритериальной задачи можно свести к решению обычной однокритериальной задачи оптимизации
Для линейных многокритериальных задач удобнее использовать метрику так как получаемая при этом
однокритериальная задача тоже оказывается линейной задачей следующего вида:
удовлетворять. Вводится система контрольных показателей , относительно которых по всем критериям должны быть
при условиях
.
Этот способ наиболее употребителен в инженерной практике.
Пример 3.4.
Назначим значения контрольных показателей: , , и пусть первый критерий выбран в качестве основного.
Тогда получим задачу с одним критерием:
при условиях
.
оптимальным решением является , . Заметим, что решение, полученное этим методом может не быть
эффективным.
Метод последовательных уступок
Другой способ носит название метода последовательных уступок. В этом методе критерии нумеруются в порядке
убывания важности. Пусть критерии записаны в порядке уменьшения их важности. Тогда должны быть выполнены
следующие действия.
1-й шаг. Решается однокритериальная задача по 1-му критерию:
.
2-й шаг. Назначается разумная с инженерной точки зрения уступка , составляется и решается новая задача оптимизации
по 2-му критерию:
.
3-й шаг. Назначается уступка для 2-го критерия , составляется и решается задача оптимизации по 3-му критерию:
.
Процесс назначения уступок по каждому критерию и решения однокритериальных задач продолжается, пока не дойдем до
последнего – го шага.
-й шаг. Назначается уступка для – го критерия , составляется и решается задача оптимизации по последнему
– му критерию:
.
Основной недостаток методов, использующих ограничения на критерии, состоит в субъективности выбора контрольных
показателей и в субъективности выбора уступок. При использовании метода последовательных уступок следует помнить, что
уступки могут быть несоизмеримы между собой, поэтому надо предварительно организовать нормализацию критериев. Кроме
того, в общем случае уже со 2-го шага решение может оказаться не оптимальным по Парето.
4. Задачи и методы целочисленного программирования ()
4.1 Целочисленное линейное программирование, особенности задач, методы отсечения
Целочисленное линейное программирование (ЦЛП) ориентировано на решение задач линейного программирования, в
которых все или некоторые переменные должны принимать целочисленные (или дискретные) значения. Несмотря на интенсивные
исследования, проводимые на протяжении последних десятилетий, известные вычислительные методы решения задач ЦЛП
далеки от совершенства. В настоящее время не существует надежных вычислительных алгоритмов решения таких задач.
По смыслу решения экономических задач должны выражаться в целых числах (кол-во единиц неделимой продукции,
станков, судов и т.п.). Для решения задач целочисленного программирования используется ряд методов, самый простой из
которых - метод линейного программирования. В случае, если компоненты оптимального решения не целочисленные, их
округляют до ближайших целых чисел. Использование такого подхода требует проверки допустимости полученного решения.
Таким методом часто пользуются при решении практических задач, особенно когда значения переменных настолько велики, что
можно пренебречь ошибками округления. Однако при решении задач, в которых целочисленные переменные принимают малые
значения, округление может привести к сильному отдалению от оптимального решения, поэтому используют следующие методы:
1. методы отсечения;
2. комбинаторные методы;
3. приближенные методы и методы случайного поиска;
4. человеко-машинные методы.
В основе методов отсечения лежат 3 алгоритма Гомори (дискретный, смешанный и циклический). Все они базируются на
использовании процедуры линейного программирования, в которую по мере решения вводятся особые дополнительные
ограничения.
В комбинаторных методах процедура линейного программирования практически не используется, а используется
сокращение поиска возможных решений с помощью анализа исходного множества решений.
Приближенные методы применяются для решения задач большой размерности, решения которых в значительной степени
затруднено дефицитом временных и технических ресурсов.
Человеко-машинные методы требуют значительных вычислений.
Значение задач целочисленного программирования
Практическое использование моделей математического программирования связано с принятием плановых решений в
сложных ситуациях. Часто встречаются условия, когда модели планирования содержат целочисленные переменные.
1. Использование оборудования. Переменными X) можно обозначить единицы оборудования, которые должны
функционировать в течение планового периода, описываемого моделью. Если каждая единица оборудования имеет
большую мощность и высокую стоимость, то дробное значение x j, скажем 10/3 , может и не иметь смысла (т. е. оказаться
нереализуемым) в рамках реальной задачи принятия решения. В таком случае на значения x j приходится наложить
требование целочисленности.
2. Затраты на подготовку производства. Может возникнуть необходимость рассмотрения операции, выполнение которой
связано с так называемыми постоянными затратами (или затратами на подготовку производства) c j всегда, когда
соответствующее значение x j >0 , причем c j не зависит от фактического значения x j. Так, например, если x j определяет
часовой показатель использования объема доменной печи на металлургическом заводе, то c j соответствует затратам на
задувку домны и на ее нагрев до заданной температуры.
3. Размеры партий. При разработке некоторых производственных планов на значения x j могут накладываться ограничения
вида x j = 0 или x j ≥ L j. Так, например, величина x jможет представлять собой количество определенных изделий, которое
нужно выпустить в течение периода t, а L j — минимально возможный размер партии этих изделий. Подобное условие
является примером ограничения вида «или — или», и его можно формально ввести в модель, используя целочисленные
переменные.
4. Решения типа «да — нет». Может возникнуть необходимость определения ситуаций «или — или» иного характера. С этой
целью на переменные x j накладываются ограничения x j = 1 или x j = 0, соответствующие решениям «принять» или
«отвергнуть» либо «да»или «нет». В качестве примера можно принять, что x j = 1 соответствует решению строить новое
промышленное предприятие, или организовать сбыт продукции в новом районе, или приобрести новое предприятие, или
продать имеющееся в распоряжении фирмы оборудование. Довольно часто альтернативы такого рода относятся к разряду
решений о распределении капиталовложений, поскольку их реализация связана с крупными затратами денежных средств и
ресурсов. Это можно считать основной причиной, объясняющей, почему целочисленное программирование играет столь
важную роль в организационных решениях. Оптимальное решение задачи распределения капиталовложений может
принести фирме гораздо большую прибыль, чем приближенное или угаданное. Так, например, может оказаться, что фирме,
производящей цемент и имеющей 25 предприятий, удастся значительно повысить получаемую прибыль, сократив число
своих предприятий до 20 или менее при условии, что такое мероприятие предусматривается оптимальным планом.
Сокращение накладных расходов при уменьшении числа предприятий может с избытком компенсировать рост
транспортных затрат, если размещение оставшихся предприятий также подчиняется оптимальному плану.
В ряде других задач принятия решений может потребоваться построение моделей целочисленного программирования.
Один класс таких задач связан с решениями, определяющими выбор упорядочений, календарных планов (расписаний) и
маршрутов. Примером задачи, принадлежащей к этому классу, может служить задача коммивояжера. В этой задаче нужно
отыскать кратчайший маршрут коммивояжера, который должен побывать в каждом из п городов, причем маршрут начинается и
заканчивается городом 1. В качестве другого примера задач указанного класса можно взять задачу составления расписания
обработки деталей на станках. Наиболее простым вариантом этой задачи является случай, когда каждая из n деталей должна
обрабатываться на каждом из k станков. Предположим, что деталь нельзя обрабатывать на станке l, пока не закончена ее
обработка на станке l-1. Предположим, далее, что время обработки каждой детали на каждом станке строго фиксировано. Тогда
оптимальная последовательность определяется расписанием обработки, минимизирующим общую продолжительность
обработки всех деталей на всех станках. Другими примерами задач упорядочения, выбора маршрута и календарного
планирования являются задачи баланса сборочных линий, сетевого планирования при ограниченных ресурсах,
предупредительного ремонта при ограничениях на рабочую силу и диспетчирования автотранспорта. Несмотря на большое
внимание, уделяемое в литературе по исследованию операций задачам упорядочения, календарного планирования и выбора
маршрута, которые отображаются моделями целочисленного программирования, до сих пор эти модели находят лишь
ограниченное применение на практике. Одна из причин, объясняющих такое положение, заключается в том, что в моделях
целочисленного программирования часто не учитываются некоторые важные условия, характерные для реальных задач
календарного планирования. Другая причина — вычислительные трудности, оказавшиеся настолько значительными, что затраты,
связанные с получением решений для моделей реальной размерности, превышают эффект, достигаемый за счет реализации
найденного решения.
Общая постановка задачи ЦЛП
Пусть x j- число единиц продукции P j; b i - запас ресурса Si; a ij - число единиц ресурса Si; c j- прибыль от единицы продукции
P j, где j=1 ,n ,i=1 , m.
Тогда задачу ЦЛП можно представить в виде:
n
x j ∈ N ∪ { 0 } , j=1 , n (4.1.2)
n
f (x)=∑ c j x j → max (4.1.3)
j=1
Оптимальным решением задачи ЦЛП называется решение X =(x 1 x 2 ... x n ) системы ограничений (4.1.1), удовлетворяющее
условиям (4.1.2), при котором целевая функция (4.1.3) принимает экстремальное значение.
Задача линейного программирования называется стандартной, если система ограничений состоит из одних лишь
неравенств.
Линейная задача называется канонической, если система ограничений состоит из одних уравнений - равенств.
Задачи, в которых все переменные должны быть целочисленными, называются полностью целочисленными, а задачи, в
которых лишь некоторые переменные должны принимать целочисленные значения - частично-целочисленными.
Рассмотрим задачу о размещении оборудования: есть n предметов, каждый из которых обладает определенным
коэффициентом полезности (стоимость, калорийность и т.п.). Общая полезность от размещенных предметов равна сумме
полезностей отдельных предметов. Все n предметов не могут быть размещены в заданном объеме (ограничения по объему) и/или
грузоподъемность тела меньше суммарного веса предметов (ограничение по массе).
Требуется при ограничениях на объем и массу обеспечить размещение предметов, при котором общая полезность
размещенных предметов была бы максимальной.
Введем обозначение:
x j= { 1, если j−ый предмет принимается к размещению ; 0 , иначе }
c j- коэффициент полезности j-ого предмета;
a ij- i-я характеристика j-ого предмета (например: масса, объем и т.п.);
b i- ограничение по i-ой характеристике.
Тогда формально задача ставится следующим образом:
n
f (x)=∑ c j x j → max
j=1
n
∑ aij x j ≤ bi ,i=1 , m
j=1
Задача о назначениях
Имеются n сотрудников, которые могут выполнять n работ, причем использование i-го сотрудника на j-м месте приносит
доход cij (i,j = 1, 2,…,n).
Требуется поручить каждому сотруднику выполнение определенной работы так, чтобы максимизировать суммарный
доход.
Введем обозначения:
x ij ={1 , если i−й сотрудник выполняет j−ю работу ; 0 ,иначе }
Учитывая то, что каждая работа должна быть сделана только одним сотрудником, получим:
n n
f (x)=∑ ∑ c ij x ij → max
i=1 j=1
n n
∑ x ij=1 , ∑ xij=1 ;❑
i=1 j=1
x ij =0 или x ij =1 , i, j=1, n .
Методы решения задач ЦЛП основаны на использовании вычислительных возможностей методов линейного
программирования. Как правило, алгоритмы решения задач ЦЛП включают 3 шага:
Шаг 1. "Ослабление" пространства допустимых решений задачи целочисленного линейного программирования путем
замены любой двоичной переменной y непрерывным ограничением 0 ≤ y ≤ 1 и отбрасывания требования целочисленности для всех
остальных переменных. В результате получается обычная задача линейного программирования.
Шаг 3. Имея полученное (непрерывное) оптимальное решение, добавляем специальные ограничения, которые
итерационным путем изменяют пространство допустимых решений задачи линейного программирования таким образом, чтобы, в
конечном счете, получилось оптимальное решение, удовлетворяющее требованиям целочисленности.
Разработаны два общих метода генерирования специальных ограничений, о которых идет речь при реализации шага 3:
1. Метод ветвей и границ (решает задачи более успешно).
2. Метод отсечения (метод Гомори).
Хотя ни один из упомянутых методов не дает надежных результатов при решении задачи целочисленного линейного
программирования, опыт вычислений свидетельствует, что метод ветвей и границ более успешно решает задачу, чем метод
отсекающих плоскостей.
Алгоритм решения задач ЦЛП, предложенный Гомори, основан на симплексном методе и использует способ построения
правильного отсечения, при решении из множества оптимальных планов постепенно удаляются подмножества, которые не
содержат целочисленных планов.
Идея алгоритма заключается в следующем:
Сначала задача решается симплексным методом без условия целочисленности. Если полученный план целочисленный, то
задача решена, в противном случае, из системы ограничений выбирается уравнение, для которого дробная часть координаты
оптимального решения имеет наибольшее значение и на его основе составляется дополнительное ограничение, обладающее
следующими свойствами:
● оно должно быть линейным;
● должно отсекать найденное не целочисленное решение;
● не должно отсекать ни одного целочисленного решения.
Такое дополнительное отсечение называется правильным отсечением.
Подобный процесс построения дополнительных ограничений повторяется до тех пор пока:
1. Не будет получено целочисленное решение.
2. Не будет доказана неразрешимость задачи ЦЛП. (Если в симплексной таблице появилась строка-ограничение, в которой
правая часть – дробная, а все коэффициенты небазисных – целые (в том числе нули), то задача неразрешима методом
Гомори.)
Предполагается, что все a ij в исходной таблице - целые ⇒ все дополнительные переменные также
должны быть целыми неотрицательные числами. Можно показать, что если R - выпуклый многогранник,
RΩ - множество его целых точек, [R ] - выпуклая линейная оболочка множества RΩ , то [R ] является целочисленным
Ω Ω
многогранником. Непосредственное построение [R Ω ] - сложная задача, которая является основной задачей методов отсечения.
x j ≥ 0 , j=1 , n (4.2.3)
x j - целые, j=1 ,n (4.2.4)
Задача (4.2.1) – (4.2.4) называется полностью целочисленной задачей линейного программирования, т.к. на все
переменные наложено условие целочисленности (ограничение 4.4). Когда это условие относится лишь к некоторым переменным,
задача называется частично целочисленной.
Пусть дана задача полностью целочисленного линейного программирования (4.2.1) – (4..24). Алгоритм метода отсечений
состоит из следующих этапов:
Шаг 1. Решается задача линейного программирования (4.2.1)-(4.2.3), с отброшенным условием целочисленности (4.2.4).
Если она не разрешима, то задача (4.2.1)-(4.2.4) тоже не имеет решения.
Шаг 2. Если условие целочисленности выполняется по всем переменным, то найденное решение и есть решение задачи
(4.2.1)-(4.2.4).
Шаг 3. Иначе строится дополнительное отсекающее ограничение и включается в систему ограничений (4.2.2)-(4.2.3).
Переход на 1-ый шаг.
Для решения задачи ЦЛП Гомори предложил каждый раз на 3-ем шаге делать дополнительное ограничение для не целой
переменной с наибольшей дробной частью.
Допустим, задача с отброшенным условием целочисленности решена. Рассмотрим i-ую строку оптимальной симплексной
таблицы, которой соответствует не целое решение β iбазисной переменной x i. Пусть R - множество индексов j, которые
соответствуют небазисным переменным. Тогда переменная x i может быть выражена через небазисные переменные x j:
❑
x i=β i− ∑ aij x j , где β i - нецелое (4.2.5)
j∈ R
Обозначим наибольшую целую часть числаa , его не превосходящую, через [a], а дробную положительную часть - через {a }
(a ≥[a] ; a=[a ]+{a }).
Выразим базисную переменную x i в (4.2.5) в виде суммы целой и дробной частей:
❑
x i=[β i ]+{β i }− ∑ ([a¿¿ ij]+ {aij })x j=¿ ¿ ¿ (4.2.6)
j∈ R
Очевидно, что выражение в левых круглых скобках (4.2.6) - целое число. Чтобы x i было целым числом, необходимо, чтобы
❑
выражение в правых круглых скобках тоже было целым числом. Так как 0 ≤ {β i }≤1, а ∑ {aij } x j ≥ 0, то выражение в правых круглых
j∈ R
❑ ❑
скобках (4.2.6) будет целым числом, если {β i }≤ ∑ {a ij }x j , т.е. {β i }− ∑ {aij }x j ≤ 0 - определяет правильное отсечение Гомори.
j ∈R j∈ R
Замечание: задача (4.2.1)-(4.2.4) не будет иметь полностью целочисленного решения, если в симплекс-таблице встретится
уравнение такое, что β i - дробное число, а a ij - целые.
x j ≥ 0, j=1 ,n+ m;
x j - целые, j=1 ,n 1, n1 ≤ n.
Решаем ее как ЗЛП (задачу линейного программирования). Если в результате получено оптимальное решение, в котором
все свободные члены по строкам не меньше нуля, и все переменные, на которые наложены требование целочисленности, имеют
целые значения, то, следовательно, получено оптимальное решение ЗЧЦЛП (Задачи Частично-Целочисленного Линейного
Программирования). Допустим, что на переменную x 1 наложено требование целочисленности, но в оптимальном решении
ЗЧЦЛП ей соответствует a i0 ≥ 0 и нецелое. Перепишем эту строчку, опустим индекс строки:
❑
x=a 0− ∑ a j x j (4.2.7)
j∈ N
Тогда:
❑
∑ a j x j= ∑ ❑a j x j+ ∑ ❑a j x j(правая часть равенства является либо положительной, либо отрицательной).
j∈ N j ∈N ¿
+¿
j ∈N
−¿
¿
Если ∑ ❑ a j x j+ ∑ ❑ a j x j ≥ 0, то левая часть равенства должна принимать значения: {a }, {a }+1, {a }+2 и т.д.
+¿ −¿ 0 0 0
j∈ N ¿ j ∈N ¿
Тогда
∑ ❑aj xj ≥ ∑ ❑a j x j + ∑ ❑a j x j ≥ {a0 } (4.2.9)
+¿ +¿ −¿
j∈ N ¿ j ∈N ¿ j∈ N ¿
Если ∑ ❑a j xj+ ∑ ❑ a j x j <0 , то левая часть равенства должна принимать значения: −1+{a } , −2+{a } и т.д.
+¿ −¿ 0 0
j∈ N ¿ j ∈N ¿
Тогда
∑ ❑ aj x j ≥ ∑ ❑a j x j+ ∑ ❑a j x j ≤−1+ {a0 } (4.2.10)
−¿ +¿ −¿
j∈ N ¿ j ∈N ¿ j ∈N ¿
{a0 }
Умножим обе части последнего неравенства (4.2.10) на −1+ {a }и получим:
0
{a0 }
∑ ❑ a j x j ≥{a0 }
−1+ {a 0 } j ∈ N ¿ −¿
(4.2.11)
Сложив (4.2.9) и (4.2.11), получим:
{a0 }
∑ ❑ a j x j+ ∑ ❑ a j x j ≥ {a0 }
−1+{a0 } j ∈N ¿
(4.2.12)
j ∈ N + ¿¿ −¿
Неравенству (4.2.12) должно удовлетворять любое целочисленное решение исходной задачи. Текущее решение ему не
удовлетворяет, так как при x j=0 ,( j ∈ N ) из (4.2.12) получим 0 ≥ {a 0 }. Изначально допускалось, что условие целочисленности
наложено только на переменную x (на все остальные переменные x j ( j∈ N) наложено только требование неотрицательности, т.е.
при любых целых или нецелых x j , j ∈ N ). Тогда, введя дополнительную переменную, запишем (4.2.12) в виде:
{a0 }
S=−{a 0 }+ ∑ ❑ aj x j+ ∑ ❑ aj x j
−1+{a 0 } j∈ N ¿
(4.2.13)
j ∈ N + ¿¿ −¿
Затем, это ограничение добавляем к оптимальному решению ЗЛП, после чего она перестает быть допустимой, и решаем эту
расширенную ЗЛП с помощью двойственного симплекс-метода с использованием строки (4.2.13) в качестве ведущей строки и т.д.
Общей целью является получение как можно более сильного ограничения (4.2.13), т.е. желательно сделать коэффициенты
{a0 }
aj¿ и a ¿ как можно меньшими (тогда, если эти элементы будут разрешающими, при пересчете произойдут большие
−1+ {a 0 } j
изменения чисел). Это возможно, если учесть, что на некоторые x j ( j∈ N) наложено требование целочисленности.
Поскольку (4.2.13) получено из (4.2.8), рассмотрим в последнем слагаемое a k x k , где на x k наложено требование
целочисленности. Естественно, что увеличение или уменьшение a k на целое число не изменит справедливости выражения (4.2.8).
0{a }
Минимально возможным (допустимым) числом, полученным из a k ≥ 0 ¿, является {ak }; а для a k < 0 наименьшую величину −1+ {a } a k
0
где S ≥ 0 и S - целое.
Алгоритм:
Ш Шаг 1. Решается исходная ЗЛП. Если ее решение целочисленно, то оно оптимально. Иначе переходим к шагу 2.
Ш Шаг 2. Для построения очередного дополнительного ограничения в качестве порождающей структуры берем
структуру из текущей симплекс-таблицы для которой {a0 } является наибольшей.
Ш Шаг 3. Формируем новое ограничение (4.2.14) и добавляем его в текущую k-ую ЗЛП. Тем самым получив (k+1)-
ую ЗЛП. Переходим к шагу 1.
Заключение. Практический опыт реализации вычислительных схем сложных вариантов алгоритмов, построенных на
методе отсечения, ни в коей мере нельзя признать успешным во всех случаях. В частности, эти алгоритмы оказались мало
эффективными при решении комбинаторных задач, представленных в целочисленной постановке. Возникли также трудности при
решении задач, в которых величины a ij и b i имеют большие значения. Однако алгоритмы этого класса хорошо зарекомендовали
себя при решении задач, в которых оптимальное решение задачи линейного программирования уже содержит целочисленные
значения многих переменных. Число итераций, необходимых для получения решения, по-видимому, существенно зависит также
от конкретного вида постановки задачи. В качестве примера такой чувствительности решения, получившей название
чувствительности к форме постановки, можно указать на случай, когда введение, по всей видимости, избыточных ограничений
может значительно повысить скорость сходимости.
4.3 Метод ветвей и границ, общая схема.
Этот метод можно применять для решения как полностью, так и частично целочисленных задач дискретного
программирования. Основной идеей любого комбинаторного метода является замена полного перебора всех возможных решений
их частичным перебором.
Главные отличия комбинаторных методов от методов отсечения:
● метод значительно меньше подвержен влиянию ошибок округления;
● характеризуется более простыми арифметическими операциями;
● характеризуется более сложной логической структурой.
Наиболее распространенным среди комбинаторных методов является метод ветвей и границ. По существу, метод
является вариацией полного перебора с отсевом подмножеств допустимых решений, заведомо не содержащих оптимальных
решений. Он был предложен в 1960 году А. Лэндом (A. Land) и Дж. Дойгом (G. Doig) для решения полностью целочисленных и
частично-целочисленных задач линейного программирования. Интерес к этому методу и фактически его “второе рождение”
связано с работой Литтла, Мурти, Суини и Кэрела, посвященной задаче коммивояжера.
В основе метода ветвей и границ лежит следующая идея: если нижняя граница значений функции на подобласти A дерева
поиска больше, чем верхняя граница на какой-либо ранее просмотренной подобласти B, то A может быть исключена из
дальнейшего рассмотрения (правило отсева). Обычно минимальную из полученных верхних оценок записывают в глобальную
переменную m; любой узел дерева поиска, нижняя граница которого больше значения m, может быть исключён из дальнейшего
рассмотрения.
Если нижняя граница для узла дерева совпадает с верхней границей, то это значение является минимумом функции и
достигается на соответствующей подобласти.
Общая схема
Рассмотрим задачу дискретного программирования:
f (x) →min , X ∈G , G - некоторое конечное множество.
В основе метода лежит выполнение нескольких этапов:
1) Вычисление нижней границы. Часто можно вычислить нижнее значение целевой функции на множестве решений G или на
его подмножестве G ' ⊂G, т.е. найти такое число ξ (G) (или ξ (G ' )), что для любого X ⊂ G имеет место:
f (x) ≥ ξ(G)
(или для любого X ⊂G ' имеет место f (x) ≥ ξ(G ' )).
2) Ветвление - разбиение множества решений G на подмножества; ветвление происходит по следующей системе:
0-й шаг: имеется множество Go ≡G . Некоторым образом оно разбивается на конечное число (обычно не пересекающихся)
подмножеств: G11 ,G 12 , ..., G1r 1.
k-й шаг ( k ≥1) : имеются множества Gk1 , Gk2 , ... ,G krk еще не подвергавшиеся ветвлению. По определенному правилу среди них
выбирается одно множество GkU (k ) и оно разбивается на конечное число подмножеств GkU (k ),1 ,GkU (k),2 ,... , GkU (k) ,S (k). Еще не
подвергавшиеся разбиению множества Gk1 , Gk2 , ... ,G kU (k)−1 ,GkU (k)+1 , Gkrk , GkU (k), 1 , GkU (k ),2 ,... , GkU (k), S (k ) обозначаются через Gk1 +1 , Gk+1 k +1
2 , ..., G rk+1 .
Поэтому при разбиении G k на Gk1 , Gk2 , ... ,G kS :Gk =¿ i=1 ¿ S Gik, всегда будем иметь в виду то, что граница для любого
подмножества G ki не меньше границы G k , т.е.
ξ (Gki )≥ ξ (Gk ), k =1 , S
В некоторых случаях, когда удается хотя бы для отдельных i получить строгое неравенство ξ (Gki )>ξ (Gk ), k =1 , S, то можно
значительно сократить число вычислений в процессе решения задачи.
4) Вычисление решений. Для конкретных задач могут быть указаны различные способы нахождения планов в последовательно
разветвляемых подмножествах. Любой такой способ существенно опирается на специфику задачи.
5) Признак оптимальности. Пусть G=¿i=1 ¿ S Gi и решение X принадлежит некоторому подмножеству G U . Если при этом
f (x)=ξ(G U ) ≤ ξ(G i ) ,i=1 , S , то X является оптимальным решением задачи.
6) Оценка точности приближенного решения. Итак, при G=¿i=1 ¿ S Gi пусть ξ=min ξ(Gi ),i=1 , S . Тогда, если X 0 - некоторое
исходное решение задачи (т . е . X 0 ∈ G), то ξ ≤min f (X ∈G)≤ f ( X 0 ) (доказательство непосредственно следует из определения
оценки). Очевидно, что если разность Δ=f (X 0 )−ξ невелика (т.е. задан порог), то X 0 можно принять за приближенное решение
задачи, а △ - за оценку точности приближения.
Алгоритм:
0-й шаг. Вычисляем ξ (G)=ξ (G0 ). Если при этом удается найти такое решение X, что f (X )=ξ (G), то X ≡ X ¿ -
оптимальное решение. Если оптимальное решение не найдено, то некоторым способом разбиваем G=G0 на конечное
число подмножеств G0=G11 ∪G12 ∪... ∪G1r 1 и переходим к шагу 1.
1-й шаг. Вычисляем ξ (G1i ), i=1 , r 1. Если при этом удается найти такое решение X, что X ∈G1r , для некоторого
r (1 ≤ r ≤ r 1 ) и
Еще не подвергавшиеся разбиению множества G11 ,G12 , ..., G1U (1)−1 , G1U (1)+1 , G1r 1 , G1U (1), 1 , G1U (1), 2 , ... ,G1U (1),S (1) обозначаем через
G 21 ,G 22 , ..., G 2r 2 и переходим к шагу 2.
. ...
..
k-й шаг(k≥2). Вычисляем ξ (Gki ) ,i=1 , r k . Если при этом удается найти такое решение X, что X ∈Grk, для некоторого
r (1 ≤ r ≤ r k ) и
то X ≡ X ¿ - оптимальное решение. Если оптимальное решение не найдено, то выбирается “наиболее перспективное” для
дальнейшего разбиения множество GkU (k ), по следующему правилу:
обозначаем через
G k1 +1 , G k+1 k +1
2 , ..., G rk+1
и переходим к шагу (k+1). В каждой конкретной задаче применяются свои приемы разбиения множеств на
подмножества.
Замечание: в каждой конкретной задаче применяются свои приемы разбиения множеств на подмножества.
Заключение. Метод ветвей и границ наряду с методом отсечения с вычислительной точки зрения обладает существенными
достоинствами. Дело в том, что алгоритмы, построенные на этих методах, сравнительно легко программируются для ЭВМ и
поэтому указанные алгоритмы реализуются на любой итерации без вмешательства человека. Метод ветвей и границ эффективен
при решении задач, содержащих небольшое число целочисленных переменных. Однако если число таких переменных велико
или решение задачи линейного программирования далеко от оптимального решения целочисленной задачи (как это имело
место в рассмотренном примере), то число итераций, необходимых для получения решения, может оказаться слишком большим
и для реализации алгоритма потребуются неоправданные с практической точки зрения затраты машинного времени.
x2
4
3
2
1
x1
0
1 2 3 4 5 6
Поскольку оптимальное решение задачи ЛП0 не удовлетворяет условию целочисленности, метод ветвей и границ изменяет
пространство решений задачи линейного программирования так, что в конечном счете получается оптимальное решение задачи
ЦЛП. Для этого сначала выбирается одна из целочисленных переменных, значение которой в оптимальной решение задачи ЛП не
является целочисленным.
Выберем x 1=3,75 и заметим, что область 3< x 1 <4 пространства допустимых решений задачи ЛП0 не содержит
целочисленных значений переменной x 1 и, следовательно, может быть исключена из рассмотрения, как бесперспективная. Это
эквивалентно замене исходной задачи ЛП0 двумя новыми задачами линейного программирования ЛП1 и ЛП2, которые
определяются следующим образом:
● пространство допустимых решений ЛП1 = пространство допустимых решений ЛП0 + ( x 1 ≤ 3);
● пространство допустимых решений ЛП2 = пространство допустимых решений ЛП0 + ( x 1 ≥ 4 ).
На рис. 4.4.2 изображены пространства допустимых решений задач ЛП1 и ЛП2. Оба пространства содержат все
допустимые решения исходной задачи ЦЛП. Это означает, что задачи ЛП1 и ЛП2 не “потеряют” решения начальной задачи ЛП0.
x2
8
7
x1<=3 x1>=4
6
5
4
ЛП1 3
2 ЛП2
1
x1
0
1 2 3 4 5 6
Если мы продолжим разумно исключать из рассмотрения области, не содержащие целочисленных решений (такие как
3< x 1 <4 ), путем введения надлежащих ограничений, то в конечном счете получим задачу линейного программирования,
оптимальное решения которой удовлетворяет требованиям целочисленности. Другими словами, будем решать задачу ЦЛП путем
решения последовательности непрерывных задач линейного программирования.
Новые ограничения x 1 ≤ 3 и x 1 ≥ 4 взаимоисключаемы, так что задачи ЛП1 и ЛП2 необходимо рассматривать как независимые
задачи линейного программирования, как и показано на рис. 4.4.3. Дихотомизация задач ЛП - основа концепции ветвления в
методе ветвей и границ. В этом случае, x 1 называется переменной ветвления.
1
ЛП0
x1=3,75; x2=1,25; z=23,75
x1<=3 x1>=4
2 3
ЛП1 ЛП2
x1=3; x2=2; z=23 x1=4; x2=0,83; z=23,33
нижняя граница (оптимум)
Рис. 4.4.3. Ветвление по переменной x 1 для создания двух независимых задач ЛП1 и ЛП2
Оптимальное решений задачи ЦЛП находится в пространстве допустимых решений либо задачи ЛП1, либо ЛП2.
Следовательно, обе подзадачи должны быть решены.
Оптимальным решением задачи ЛП1 (получено с помощью метода решения задач с ограниченными переменными)
является x 1=3; x 2=2; z=23. Оптимальное решение задачи ЛП1 удовлетворяет требованию целочисленности переменных x 1 , x 2. В
этом случае говорят, что задача ЛП1 прозондирована, т.е. она не должна больше зондироваться, так как не может содержать
лучшего решения задачи ЦЛП.
В этой ситуации нельзя оценить качество целочисленного решения, полученного из решения задачи ЛП1, ибо решение
задачи ЛП2 может привести к лучшему целочисленному решению (с большим значением целевой функции z). Пока мы можем
сказать, что значение z=23 является нижней границей оптимального (в нашем случае максимального) значения целевой функции
исходной задачи ЦЛП. Это значит, что любая нерассмотренная подзадача, которая не может привести к целочисленному решению
с большим значением целевой функции, должна быть исключена из рассмотрения, как бесперспективная. Если же
нерассмотренная подзадача может привести к лучшему целочисленному решению, то нижняя граница должна быть надлежащим
образом изменена.
При значении нижней границы z=23 исследуем задачу ЛП2 (единственную оставшуюся нерассмотренную подзадачу). Так
как в задаче ЛП0 оптимальное значение целевой функции равно 23,75 и все ее коэффициенты являются целыми числами, то
невозможно получить целочисленное решение задачи ЛП2 (пространство решений которой более узко, чем в задаче ЛП0),
которое будет лучше существующего. В результате, мы отбрасываем подзадачу ЛП2 и считаем ее прозондированной.
Реализация метода ветвей и границ завершена, так как обе подзадачи ЛП1 и ЛП2 прозондированы. Следовательно,
оптимальным решением задачи ЦЛП является решение x 1=3; x 2=2; z=23.
Замечания:
● В задаче ЛП0 можно было выбрать переменную x 2 в качестве переменной ветвления вместо x 1.
● При выборе подзадачи для зондирования можно было решить сначала задачу ЛП2 вместо ЛП1 (рис.4.4.4).
1
ЛП0
x1=3,75; x2=1,25; z=23,75
x1<=3 x1>=4
7 2
ЛП1 ЛП2
x1=3; x2=2; z=23 x1=4; x2=0,83; z=23,33
нижняя граница (оптимум)
x2<=0 x2>=1
4 3
ЛП3 ЛП4
x1=4,5; x2=0; z=22,5 Нет решения
x1<=4 x1>=5
6 5
ЛП5 ЛП6
x1=4; x2=0; z=20 Нет решения
В общем случае может потребоваться любое (конечное) число отсечений для достижения полностью целочисленной
экстремальной точки. В действительности количество необходимых для этого отсечений не зависит от размерности задачи в том
смысле, что для решения задачи с небольшим количеством переменных и ограничений может потребоваться больше отсечений,
чем для задачи большой размерности.
Метод отсечения начинает работу с решения непрерывной задачи ЛП. В симплекс-таблице, соответствующей
оптимальному решения задачи ЛП, следует выбрать одну из строк (называемую производящей), для которой базисная
переменная целочисленная. Искомое отсечение строится на основании дробных составляющих коэффициентов производящей
строки (его называют дробным отсечением).
При дополнительных переменных x 3 и x .4 для ограничений 1 и 2 оптимальная симплекс-таблица исходной задачи имеет
следующий вид:
Базис x .1 x .2 x3 x .4 Решение
Оптимальным непрерывным решением является x 1=4,5 ; x 2=3,5; x 3=0; x 4 =0; z=65,5. Целочисленное отсечение получается в
предположении, что все переменные задачи являются целочисленными. Поскольку коэффициенты исходной целевой функции
являются целочисленными, то и значение z , соответствующее целочисленному решению, должно быть целочисленным.
Информация, содержащаяся в симплекс-таблице, может быть записана в виде следующих уравнений:
63 31 1
z-уравнение: z + 22 x 3+ 22 x 4 =66 2 ,
7 1 1
x 2-уравнение: x 2+ x 3 + x 4=3 ,
22 22 2
1 3 1
x 1-уравнение: x 1− x 3+ x 4 43 .
22 22 2
Так как в этом примере z, x 1, x 2 должны быть целочисленными и все они на данный момент имеют дробные значения в
оптимальной симплекс-таблице, любое из трех уравнений можно использовать в качестве производящей строки для построения
отсечения. Выберем (произвольно) для этой цели z-уравнение:
63 31 1
z+ x + x =66 (производящая z-строка).
22 3 22 4 2
Для построения дробного отсечения каждый из нецелочисленных коэффициентов раскладывается на целую и дробную
части при условии, что дробная часть является строго положительной:
19 9 1
z +(2+ ) x 3+(1+ ) x 4 =(66+ ).
22 22 2
При переносе всех целочисленных слагаемых в левую часть уравнения, а всех дробных слагаемых в правую часть
получаем следующее:
1 19 9
z +2 x 3 + x 4 −66= − x 3− x 4.
2 22 22
Поскольку все переменные в рассматриваемой задаче принимают целочисленные значения, левая часть последнего
уравнения должна быть целочисленной, откуда следует, что и правая часть также должна принимать целые значения. Перепишем
правую часть уравнения следующим образом:
1 19 9 1 19 9
− x − x = −( x + x ).
2 22 3 22 4 2 22 3 22 4
1 19 9
Поскольку x 3 ≥ 0, x 4 ≥ 0, выражение в скобках является неотрицательным. Поэтому величина 2 − 22 x 3 − 22 x 4 , будучи
целочисленной, не может превышать 1/2. Следовательно, необходимое условие целочисленности можно записать следующим
образом:
1 19 9
− x 3 − x 4 ≤ 0.
2 22 22
Это и есть дробное отсечение, порожденное z-строкой. Нетрудно убедится, что найденное ранее оптимальное непрерывное
решение x 1=4,5 ; x 2=3,5; x 3=0; x 4 =0 не удовлетворяет отсечению ( x 3=0; x 4 =0 ⇒ 1/2 ≤0 - неверно!). Если мы присоединим отсечение к
конечном симплекс-таблице, то оптимальное решение новой симплекс-таблицы будет “двигаться” в направлении выполнения
ограничения целочисленности.
Замечание: Применение дробного отсечения предполагает целочисленность всех переменных, включая дополнительные.
Данным метод применим только к решению полностью целочисленных задач.
Таким же образом можно построить отсечение исходя из производящей x 1-строки или x 2-строки:
1 3 1
● x 1− 22 x 3+ 22 x 4 =4 2 (производящая x 1-строка);
21 3 1
операция разложения: x 1+(−1+ 22 )x 3 +(0+ 22 ) x 4 =(4+ 2 );
−21 3 1
соответствующее отсечение: 22 x 3− 22 x 4 + 2 ≤ 0.
7 1 1
● x 1+ 22 x 3 + 22 x 4=3 2 (производящая x 2-строка);
7 1 1
операция разложения: x 1+(0+ 22 ) x 3+(0+ 22 ) x 4=(3+ 2 );
−7 1 1
соответствующее отсечение: 22 x 3− 22 x 4 + 2 ≤ 0.
Любое из трех отсечений может быть использовано на первой итерации метода отсечения. Выберем (произвольно) отсечение,
порожденное x 2-строкой и запишем следующим образом:
−7 1 1
x − x + s = , s ≥0 (отсечение |).
22 3 22 4 1 2 1
Это ограничение добавляется в качестве дополнительного в оптимальную симплекс-таблицу задачи.
Базис x .1 x .2 x3 x .4 s1 Решение
Таблица представляет оптимальное, но недопустимое решение. Для восстановления допустимости решения применим
двойственный симплекс-метод, что приведет к следующей симплекс-таблице:
Базис x .1 x .2 x3 x .4 s1 Решение
z 0 0 0 1 9 62
x .2 0 1 0 0 1 3
x1 1 0 0 1/7 -1/7 4
4
7
x3 0 0 1 1/7 -22/7 4
1
7
Из-за дробных значений переменных x 1 и x 3 последнее решение все еще нецелочисленное. Выберем x 1-строку в качестве
производящей:
x 1+ ¿.
−1 6 −4
Соответствующее отсечение: 7 − 7 s 1 +s 2= 7 , s2 ≥0 (отсечение ||).
Присоединяя отсечение || к последней симплекс-таблице, получаем следующее:
Базис x .1 x .2 x3 x .4 s1 s2 Решение
z 0 0 0 1 9 0 62
x .2 0 1 0 0 1 0 3
x1 1 0 0 1/7 -1/7 0 4
4
7
x3 0 0 1 1/7 -22/7 0 4
1
7
Базис x .1 x .2 x3 x .4 s1 s2 Решение
z 0 0 0 0 3 7 58
x .2 0 1 0 0 1 0 3
x1 1 0 0 0 -1 1 4
x3 0 0 1 0 -4 1 1
x4 0 0 0 1 6 -7 4
Оптимальное решение ( x 1=4 ; x 2=3; z=58) определяемое последней симплекс-таблицей, является целочисленным.
4.5 Задача о коммивояжере.
Классическая формулировка задачи: коммивояжер пытается определить кратчайший маршрут для одноразового посещения
n городов. По существу, эта задача гарантирует исключение из оптимального решения неполных замкнутых маршрутов (в задаче
коммивояжера циклом является замкнутый маршрут, проходящий через каждый пункт только один раз; полный цикл - цикл,
проходящий через все города, в противном случае - частичный цикл или подцикл).
Пусть:
x ij ={ 1 ,если город j достижимиз города i; 0 , иначе }
d ij - расстояние от города i до города j (считается, что d ij =∞ при i = j).
Тогда задачу коммивояжера можно формализовать следующим образом:
n n
Минимизировать Z=∑ ∑ d ij x ij при ограничениях:
i=1 j=1
n
● ∑ x ij =1 , i=1 ,n;
j=1
n
● ∑ x ij=1 , j=1 , n;
i=1
● x ij ∈{0 ,1 };
● решение должно быть полным циклом.
Замечание: ограничения задачи (все, кроме последнего) определяют обычную задачу о назначениях. В общем случае нет
гарантии, что оптимальное решение задачи о назначениях образует полный цикл. (см. рис. 4.5.1). Вероятнее всего оно будет
содержать частичные циклы, соединяющие вместе некоторые подмножества узлов сети, т. е. не исключают возможности разрыва
пути или, другими словами, появления нескольких не связанных между собой подмаршрутов для части городов. Если задача о
назначениях формирует полный цикл, то это будет оптимальным решением задачи коммивояжера. В противном случае в эту
задачу добавляют специальные ограничения, удаляющие решения с частичными циклами.
3 3 3
2 4 2 4 2 4
1 5 1 5 1 5
Основные методы решения задачи о коммивояжере построены на тех же основах, что и методы ветвей и границ и методы
отсечения.
Вначале алгоритм ветвей и границ применяется к задаче о назначениях, соответствующей данной задаче коммивояжера.
Если полученное оптимальное решение образует полный цикл, то на этом вычисления заканчиваются. В противном случае в
задачу необходимо ввести ограничения, удаляющие частичные циклы. Это создает ряд подзадач, которых в общем случае столько
же, сколько переменных образуют один частичный цикл. В каждой подзадаче одна из таких переменных устанавливается равной
нулю (напомним, что переменные, ассоциированные с каким-либо циклом, имеют единичные значения). Решения этих подзадач
могут либо сформировать, либо не сформировать полный цикл. Если такой цикл сформирован в какой-либо подзадаче, то
оптимальное значение целевой функции этой подзадачи дает верхнюю границу длины полного цикла. Если же подзадача не
формирует полный цикл, то она разбивается на ряд новых подзадач в соответствии с переменными, которые образуют частичные
циклы в решении данной подзадачи. Этот процесс продолжается до тех пор, пока не будут рассмотрены все существующие
подзадачи, либо пока не будет получено лучшее (меньшее) значение верхней границы длины полного цикла, или пока не будет
доказано, что подзадачи не могут иметь лучшего решения. Оптимальным решением задачи коммивояжера будет полный цикл на
котором достигается наилучшее значение верхней границы.
ij 1 2 3 4 5 6 di
1 M 43 39 38 22 9 9
2 72 M 65 57 52 70 52
3 13 74 M 73 59 39 13
4 81 87 86 M 22 17 17
5 89 33 65 15 M 8 8
6 80 30 10 30 18 M 10
Затем вычитают di из элементов рассматриваемой строки. Поэтому во вновь полученной матрице в каждой строке будет как
минимум один ноль. Такую же операцию редукции проводят по столбцам: d i = min(i) dij .
ij 1 2 3 4 5 6
1 M 34 30 29 13 0
2 20 M 13 5 0 18
3 0 61 M 60 46 26
4 64 70 69 M 5 0
5 81 25 57 7 M 0
6 70 20 0 20 8 M
dj 0 20 0 5 0 0
Для каждой нулевой клетки получившейся преобразованной матрицы находим «оценку». Ею будет сумма
минимального элемента по строке и минимального элемента по столбцу, в которых размещена данная нулевая клетка. Сама
она при этом не учитывается. Найденные ранее di и dj не учитываются. Полученную оценку записываем рядом с нулем, в
скобках.
ij 1 2 3 4 5 6
1 M 34 30 29 13 0(13)
2 20 M 13 5 0(10) 18
3 0(46) 61 M 60 46 26
4 64 70 69 M 5 0(5)
5 81 25 57 7 M 0(0)
6 70 20 0(21) 20 8 M
Выбираем нулевую клетку с наибольшей оценкой. Заменяем ее на «М». Мы нашли один из отрезков пути. Выписываем его
(от какого города к какому движемся). Ту строку и тот столбец, где образовалось две «М» полностью вычеркиваем. В клетку,
соответствующую обратному пути, ставим еще одну букву «М» (т.к. мы уже не будем возвращаться обратно).
Если мы еще не нашли все отрезки пути, то вновь ищем минимумы по строкам и столбцам, проводим их редукцию, считаем
оценки нулевых клеток и т.д. Если все отрезки пути найдены (или найдены еще не все отрезки, но оставшаяся часть пути
очевидна) – переходим к итогу. Найдя все отрезки пути, остается только соединить их между собой и рассчитать общую длину
пути (стоимость поездки по этому маршруту, затраченное время и т.д.). Длины дорог соединяющих города берем из самой первой
таблицы с исходными данными.
5. Задачи и методы динамического программирования ()
“Динамическое программирование — это когда у нас есть задача,
которую непонятно как решать, и мы разбиваем ее на меньшие задачи,
которые тоже непонятно как решать.”
©️ А.Кумок
S
n
U1’
S U1’
’
0 U1’
’’
U U U …
1 2 3
Под действием управлений (ui) меняем состояния ( Si).
Состояние Si считается через управление (ui) и предыдущее состояние ( Si−1) ⇒ Si=φ(Si−1 ,u i). Наша задача: максимизировать
(минимизировать) результат на всех шагах:
n
Функция аддитивная по управлениям, таким образом выбираем, чтобы на каждом управление было - max (min):
n
Условия:
• Для любой пары событий должно выполняться что-то одно: ≻, ≺, ∼.
• Транзитивность: (𝐴 ≻ 𝐵)∧(𝐵 ≻ 𝐶) → (𝐴 ≻ 𝐶).
• Доп. условия: диапазон [0; 1] и пр.
Интерпретации вероятностей
Частотная интерпретация (объективная): предел относительной частоты наблюдения некоторого события в серии
однородных независимых испытаний.
Принцип максимизации ожидаемой полезности сводится к тому, что мы должны выбирать действие таким образом, чтобы
максимизировать ожидаемую полезность:
S1’ S2’
U1’ U2’
S0
U1’ U2’
’ ’ S2’ U3’
S1’ ’
’ U3’
U1’’’ U2’’’ ’
S1’ S2’
’’ ’’ U3’’’
{ S❑1 } - 1 шаг; { S❑2 } - 2 шаг ; { S❑3 }- 3 шаг { S❑i−1 } { S❑i } { S❑n−1 }
i-тый шаг: f ❑i ( S ❑i−1 ,U ❑i ) -> f ❑i (S ❑i−1 ) (наилучшая траектория)
Наилучший результат (оценка) из начального в конечное состояние:
{ S❑i } : S❑i-> S❑n
U ❑i+1, U ❑i+2, … U ❑n (управления, за счет которых переходит)
∀ S ❑i ∈ { S }- наилучшая траектория и соответствующий ей результат = f ❑i +1 (S ❑i)
Попробуем получить функцию f ❑i +1 (S ❑i) = ?
Представим себе, что эта функция известна:
S ' i−1 ∈ { S❑i−1 }
Фиксируем U ' i
f ❑i ( S ' i−1 , U ' ❑i)=g ❑i ( S ' i−1 , U ' ❑i)+ f ❑i+1 ( S❑i), где g❑i (S ' i−1 ,U '❑i ) - результат шага; f ❑i +1 (S ❑i)- условно-оптимальный результат
Полуоптимальный результат при:
S ' i−1 → { S❑n } (из - в),
где g❑i (S ' i−1 ,U ' ❑i ) - результат i-го шага (доход на i-ом шаге)
Вставим f ❑i +1 (S ' i), где S ' i=φ( S ' i−1 ,U ' i)
Оптимизация по U ❑i(перебираем все U ❑i: U ' i ; U ' 'i и тд и получаем различные суммы):
U ' i : f ❑i ( S ' i−1 , U ' ❑i)=g ❑i ( S ' i−1 , U ' ❑i)+ f ❑i+1 ( S ' i )
U ' ' i : f ❑i ( S ' ❑i−1 ,U ' ' ❑i)=g ❑i ( S ' i−1 , U ' ' ❑i)+ f ❑i +1 (S ' ' ❑i)
…
Из всех этих сумм выберем наилучшую по U ❑i:
max f ❑i(S ' ❑i −1 , U ❑i)=max { g ❑i(S ' i−1 , U ❑i)+ f ❑i+1 ( S❑i) } =f ❑i ( S ' i −1 ) - функция, связанная с конкретным состоянием; функция условного
оптимального дохода,
где S❑i=φ (S ' i−1 , U i ), S ' i−1 ∈ { S ' ❑i−1 }
Перебираем S❑i−1: S ' i−1, S ' '❑i−1 и тд:
max f ❑i(S ❑i−1 , U ❑i)=max { g ❑i( S ❑i−1 , U ❑i )+f ❑i +1 (S ❑i ) }=f ❑i (S❑i−1), (max по U❑i)
где S❑i=φ (S ❑i−1 , U i ), т.е. f ❑i +1 (S ❑i) →f ❑i ( S ❑i−1 ) // это переборная задача (тупой перебор)
... ...
s0 u1 s1 si-1 ui si sn-1 sn
-> gi(si-1,ui)
S❑i−1 ∈ {S ❑i−1 }
Уравнение Беллмана (также известное как уравнение динамического программирования), названное в честь Ричарда
Эрнста Беллмана, является достаточным условием для оптимальности, ассоциируемой с математическим методом оптимизации,
называемым динамическим программированием и базируется на Принципе оптимальности Беллмана.
При решении задачи на каждом шаге выбирается управление, которое должно привести к оптимальному выигрышу. Если
считать все шаги независимыми, тогда оптимальным управлением будет то управление, которое обеспечит максимальный
выигрыш именно на данном шаге. Однако, например, при покупке новой техники взамен устаревшей на ее приобретение
затрачиваются определенные средства, поэтому доход от ее эксплуатации в начале может быть небольшой, а в следующие годы
новая техника будет приносить больший доход. И наоборот, если принято решение оставить старую технику для получения
дохода в текущем году, то в дальнейшем это приведет к значительным убыткам. Этот пример демонстрирует следующий факт: в
многошаговых процессах управление на каждом конкретном шаге надо выбирать с учетом его будущих воздействий на весь
процесс. Кроме того, при выборе управления на данном шаге следует учитывать возможные варианты состояния предыдущего
шага. Например, при определении количества средств, вкладываемых в предприятие в i-м году, необходимо знать, сколько
средств осталось в наличия к i-тому году и какой доход получен в предыдущем (i - 1)-м году.
Таким образом, при выборе шагового управления необходимо учитывать следующие требования:
В задачах динамического программирования первое требование учитывают, делая на каждом шаге условные
предположения о возможных вариантах окончания предыдущего шага и проводя для каждого из вариантов условную
оптимизацию.
Выполнение второго требования обеспечивается тем, что в этих задачах условная оптимизация проводится от конца
процесса к началу.
Условная оптимизация.
На первом этапе решения задачи, называемом условной оптимизацией, определяются функция Беллмана и оптимальные
управления для всех возможных состояний на какойждом шаге, начиная с последнего, в соответствии с алгоритмом обратной
прогонки.
Этот максимум (или минимум) определяется по всем возможным для k и S значениям переменной управления .
Безусловная оптимизация.
После того, как функция Беллмана и соответствующие оптимальные управления найдены для всех шагов с n-го по первый,
осуществляется второй этап решения задачи, называемый безусловной оптимизацией. Пользуясь тем, что на первом шаге (k = 1)
состояние системы известно - это ее начальное состояние S0 , можно найти оптимальный результат за все n шагов и оптимальное
управление на первом шаге , которое этот результат доставляет. После применения этого управления система перейдет в
другое состояние , зная которое, можно, пользуясь результатами условной оптимизации, найти оптимальное
управление на втором шаге , и так далее до последнего n-го шага. Вычислительную схему динамического программирования
можно строить на сетевых моделях, а также по алгоритмам прямой прогонки (от начала) и обратной прогонки (от конца к началу).
Рассмотрим примеры решения различных по своей природе задач, содержание которых требует выбора переменных состояния и
управления.
2. “Прямая прогонка”:
S❑0=S❑0*→f ❑1 ( S ❑0 ❑¿ )→ U ❑1( S ❑0 ❑¿ )=¿U ❑1 ❑¿ ⇒
⇒ S❑1=φ(S ❑0 ,U ❑1 )⇒ φ( S❑0 ❑¿ ,U ❑1 ❑¿ )=S❑1 ❑¿ → f ❑2(S ❑1 ❑¿ ) →U ❑2 (S❑1 ❑¿ )=U ❑2 ❑¿ ⇒ ... ⇒ S❑i−1=φ (S ❑i−2 , U ❑i−1)⇒ φ( S ❑i−2 ❑¿ , U ❑i−1 ❑¿ ) →
⇒ S❑n−1=φ(S ❑n−2 , U ❑n−1) ⇒φ (S ❑n−2 ❑¿ ,U ❑n−1 ❑¿ )=S❑n−1 ❑¿ → f ❑n ( S ❑n−1 ❑¿ )→ U ❑n (S❑n−1 ❑¿ )=U ❑n ❑¿
S❑0 → S❑n ⇒ f (S 0 ❑¿ )
S ❑0 , S❑n
; { S❑n }- конечное состояние множества
{ S ❑n }
Если { S❑n }, тогда: f ❑n( S ❑n−1 )→ max - максимизация по управлению U ❑n; φ (S ❑n−1 , U n )∈ { S ❑n }
Если { S❑0 }, тогда: f ❑1 ( S ❑0 )→ max ; S❑0 ∈ { S❑0 }
Задачи ДП
● Задача о закуске (контейнере, рюкзаке) ()
Имеются n предметов T n, которые необходимо поместить в рюкзак (ранец). Пусть известны вес u❑ j и «ценность» c j
каждого предмета (j= 1,2,... ,n). Требуется заполнить рюкзак, не превышая его грузоподъемности (объема) k и
максимизируя суммарную ценность груза
x❑1, x❑2,... x❑i,... x❑n - управляемые переменные
Получаем следующую булеву ЗЦЛП:
c ❑1 x ❑1+ c ❑2 x❑2 +..+c ❑i x ❑i+...+ c ❑n x ❑n ⇒ max
x ❑i ≥ 0∈ Z , i = 1 , n
k0 k1 ki-1 ki kn- kn
... ... 1 Состояния
x1 x2 xi xn
k❑0
k❑1= k❑0-u❑1 x ❑1 : c ❑1 x ❑1 - управление
…
k❑i= k❑i−1-u❑i x ❑i : c ❑i x ❑i
…
k❑n= k❑n−1-u❑n x❑n ≥0
Обратная прогонка:
n-шаг: f ❑n( k ❑n−1)=max {c ❑n x ❑n } , 0 ≤ k ❑n−1 ≤ k ❑0
k ❑n−1
УОУ: x ❑n (k ❑n−1)={ }
u❑n
УОУ: x ❑n−1=x❑n−1 (k ❑n −2 )
k ❑n −2
x ❑n−1=0 , 1, ... ,[ ]
u ❑n−1
…
i-шаг: f ❑i ( k ❑i−1)=max{c ❑i x ❑i+ f ❑i+1 (k ❑i )}, 0 ≤ k ❑i−1 ≤ k ❑0
k ❑i=k ❑i−1−u❑i x ❑i
УОУ: x ❑i=x ❑i (k ❑i −1 )
k ❑i −1
x ❑i=0 , 1, ... ,[ ]
u❑i
…
1-шаг: f ❑1 ( k ❑0)=...
k ❑0 =k ❑0* : x ❑1(k ❑0) → x ❑1 ¿ *¿ = x ❑1*
при условиях:
x 1+ x2 +...+ x n=X 0, где x k - натуральное, k =1,2 ,... , n.
Вложим сформулированную задачу в схему динамического программирования. Для этого надо построить
управляемую динамическую систему и показать, что целевая функция является аддитивной. Для этого введем искусственно
дискретное время. Будем условно считать, что вначале выделяем средства предприятию П 1, затем П 2 ,... , П n. Тогда под k-м
шагом будем понимать выделение средств предприятию П k . Получим n шагов.
Под состоянием ξ k будем понимать остаток денежных средств по завершению k-го шага или их наличие к началу k+1-
го шага.
Под управлением на k-м шаге U k будем понимать количество средств x k , выделяемых на k-м шаге (т.е. предприятию П k
). Формулы для нашей задачи имеют вид:
ξ k =¿ξ k−1−U k,
k =1,2 ,... , n .
Под величиной дохода на k-м шаге, очевидно, будем понимать заданные функции дохода f k (U k ) , причем
n
S=∑ f k ( U k ) ,
k=1
Получили задачу динамического программирования, решить которую означает найти оптимальный набор управлений
¿ ¿ ¿
на каждом шаге, т.е. такой набор управлений U 1 ,U 2 , ... ,U n, на котором S = max.
Теперь к решению задачи можно применить общую схему решения задачи динамического программирования.
Формулы для нашей задачи имеют вид:
S¿n (ξn−1 )=max 0≤ U n ≤ξ n−1 f n (U n )=f n (ξ n−1) ,❑
k0 k ki-1 ki kn-1 k
1 n
... ...
x x xi x
1 2 n
Обратная прогонка:
n-шаг: f ❑n( k ❑n−1)=max {u❑n ( x ❑n) } , 0 ≤ k ❑n−1 ≤ k ❑0
УОУ: x ❑n (k ❑n−1)
…
i-шаг: f ❑i ( k ❑i−1)=max{u❑i (x❑i )+ f ❑i+1 (k ❑i)}, 0 ≤ k ❑i−1 ≤ k ❑0
k ❑i=k ❑i−1−x ❑i
f ¿ *¿ = max результат
● Задача о рекламе(Малеева Ангелина, 7362)
Ф(фирма): распространяет рекламу в регионах
P❑1,P❑2,… P❑i, ... P❑n - регионы
Деньги
Реклама
Часы работы
D❑0- денежные средства
T❑0- часы работы
⇒
di эффект
Pi gi(di,ti)
ti
Результат: g❑1 (d ❑1 , t ❑1 )+ ¿g❑1 (d ❑2 , t ❑2 )+...+g ❑i( d ❑i , t❑i )+ ...+ g ❑n (d ❑n , t❑n )→ max ;
Ресурсы: d ❑1+ d ❑2+...+ d❑i +...+d ❑n ≤ D❑0
t ❑1 +t ❑2+...+t ❑i+ ...+ t❑n ≤T ❑0, где d❑i ≥ 0, t❑i ≥ 0, i = 1 , n
…
D❑i = D❑i−1 - d❑i =>
T❑i = T❑i−1 - t❑i => g❑i(d❑i, t❑i)
…
Обратная прогонка:
n-шаг: f ❑n( D❑n −1 , T ❑n−1)=max {g❑n (d ❑n , t❑n )}
…
i-шаг: f ❑i ( D ❑i−1 ,T ❑i−1)=max {g❑i (d ❑i , t ❑i )+f ❑i+ 1( D ❑i , T ❑i) }, 0 ≤ D❑i−1 ≤ D❑0, 0 ≤ T ❑i−1 ≤ T ❑0
D❑i=D❑i−1−d ❑i
T ❑i =T ❑i−1−t ❑i
…
1-шаг: f ❑1 ( D❑0 , T ❑0 )=.. .
Пример: D❑0 = 9: d❑i = 0, 1, … 9 D×T = 10×10 = 100 =>
T❑0= 9: t❑i = 0, 1, … 9 d×t = 10×10 = 100 => 10000 точек - проблема “проклятие размерности”
Данную задачу можно было бы решить, подсчитав суммарные потери на всех возможных маршрутах, и выбрать тот, на
котором эта потеря наименьшая. Очевидно, возможных маршрутов достаточно много. Покажем, что применение принципа
оптимальности Беллмана сильно упрощает решение данной задачи.
Вложим данную задачу в схему динамического программирования.
I. Строим управляемую динамическую систему:
1) под первым шагом будем понимать переход системы из кружка, соответствующего точке A, в один из кружков,
обведенных нижней пунктирной линией. Следующий шаг – переход системы из одного из двух кружков в один из кружков,
обведенных следующей пунктирной линией и т.д. Имеем конечное число n=6 шагов;
2) под состояниями будем понимать кружки (пункты), через которые проходит маршрут. Они заданы на каждом шаге,
причем начальное состояние ε 0 фиксировано, соответствует одному кружку (точке A ). Конечным состоянием будет также
единственный кружок, соответствующий точке B;
3) под управлением uk будем понимать выбор горизонтали (→ ) или вертикали ( ↑). Из рис. 5.1 видно, что при выбранных
состояниях и управлениях каждое состояние в начале k-го шага (k = 1, 2, 3, 4, 5, 6) и конкретное управление на этом шаге
однозначно определяет состояние к концу k-го шага.
II. Строим аддитивную целевую функцию.
Под величиной затрат на каждом шаге будем понимать потери на соответствующих возможных переходах (рис. 5.1). Тогда
под целевой функцией будем понимать суммарные потери при переходе от ε 0 к ε 6 ; очевидно, что они равны сумме потерь на
каждом шаге, что означает аддитивность целевой функции. Решить данную задачу значит найти набор управлений на каждом
шаге, который доставляет минимум функции S=minu 1 , ... ,u 6−?
Решение. Двигаясь последовательно от конца к началу, записываем цифры в кружки – минимальные потери на
оставшейся части траектории до конца при условии, что траектория проходит через данный кружок. Стрелки означают
управление из данного кружка, при котором реализуется данная потеря, при этом существенно используются цифры в кружках,
полученные на предыдущих шагах.
Далее, двигаясь от начала к концу, существенно использовав закрепленность начального состояния, строим оптимальную
траекторию. Число 16, стоящее в кружке, соответствующем начальному состоянию, равно минимальной потере, т.е. Smin = 16.
● Оптимизация надежности сложных систем ()
k0 = 5 -
ресурс
S
Вх Вых
Б1 Б2 Б3
- - 4 0,99 4 0,99
x1 x2 x3
k ❑1=k ❑0−x ❑1
k ❑2=k ❑1−x ❑2
k ❑3=k ❑2−x ❑3=0
Обратная прогонка:
3-шаг: f ❑3 ( k ❑2)=max { P❑3( x3 )}
0 ≤ k ❑2 ≤ k ❑0 УОУ: x 3=k ❑2
0 ≤ k ❑2 ≤ 4
k ❑2 P❑3 (x 3), x 3 (k ❑2 )
f ❑3 (k ❑2)
0 0,92 0
1 0,93 1
2 0,95 2
3 0,98 3
4 0,99 4
2 0,88 2
3 0,90 3
4 0,92 3
5 0,94 2
k ❑0 P❑1 (x1 ), x ❑1
f ❑1 (k ❑0)
5 0,85 1
Прямая оптимизация:
k ❑0 =k ❑0 ❑¿=5 → x❑1 ❑¿=1 → k ❑1 ❑¿ =k ❑0 ❑¿ −x ❑1 ❑¿ =4 → x ❑2 ❑¿ =3 →k ❑2 ❑¿ =k ❑1 ❑¿−x ❑2 ❑¿ =1 → x ❑3 ❑¿ =k ❑2 ❑¿ =1
Ut/
2
(1)
Ut/
4
(2)
T/4 T/ T t V-
2 объем
(1) - существует оптимальная скидка, но дорого хранить, (2) - мало хранить, но существует оптимальная скидка. Частота
поставок тоже может увеличивать расходы.
Могут быть стратегические запасы:
Недопоставка
Uстр
n - число поставок
ед . спроса
Потребление = ед . времени
ед . сырья
Расход = ед . времени
Факторы:
1. Спрос (детерминированный(const/var), стохастический(стационарный/нестационарный))
2. Периодичность поставок (непрерывные, дискретные)
3. Задержки
4. Поставки(детерминированные(факт=заказ), со случайной составляющей)
5. Число пунктов хранения(1, много)
6. Число видов продукции(1, много)
7. Горизонт планирования(время контроля заказов)
Управление запасами:
Спрос = детерминированный - динамический (var)
Периодичность = дискретные
Горизонт планирования = n шагов
Задержки = 0
Поставки = детерминированный
Пункт хранения = 1
Число видов = 1
Нехватка недопустима!
xi-1 xi
i-шаг
n шагов
x ❑0 , x ❑1 , ... x ❑i , ... x❑n - состояния (запасы в начале шага)
ξ ❑1 , ξ ❑2 . ... ξ❑i .... ξ ❑n - спрос (E)
z ❑1 , z ❑2 , ... z ❑i , ... z❑n - управление
z z
zi z
1 2
x x1 x2 xi-1 xi xn-1 n xn
0
... ...
E
E E E Ei
n
1 2 3
Поставки:
i-шаг: x ❑i
Стоимость: с( x ❑i) = с❑i( x ❑i) + k❑0 δ( x ❑i), где с❑i( x ❑i) - плата за товар, k❑0 δ( x ❑i) - плата за доставку
δ ( x ❑i )=1 при x ❑i > 0, δ ( x ❑i )=0 при x ❑i= 0
Хранение:
x ❑i−1 + x ❑i
i-шаг: h(x ❑i−1);h( ); h(x ❑i−1 , x ❑i) - стоимость хранения
2
x ❑0+ z ❑1−ξ ❑1=x ❑1
...
x ❑i−1 + z ❑i−ξ ❑i=x ❑i
...
x ❑n−1+ z ❑n−ξ ❑n=x ❑n
при x ❑i ≥ 0, ∀ i
x ❑n ≥ 0
x ❑i−1 + z ❑i ≥ξ ❑i
Обратная прогонка:
n-шаг: f ❑n( x❑n−1)=min {c ( z ❑n)+h (x ❑n−1 )} , 0 ≤ x❑n−1 ≤ξ ❑n +¿x ❑n(остаток)
УОУ: z ❑n ( x❑n−1 )
…
i-шаг: f ❑i ( x ❑i−1)=min {c (z ❑i)+h(x ❑i−1)+ f ❑i+1 ( x ❑i )} , 0 ≤ x❑i−1 ≤ ξ ❑i+ ξ❑i +1+ ξ❑i+2 +...+ξ ❑n + x ❑n
n−1
{
x ❑i−1 ≥ x ❑0+ ∑ ξ ❑i , 0
i=1
}
УОУ: z ❑i( x ❑i−1)
…
1-шаг: f ❑1 ( k ❑0)=min {... }
УОУ: z ❑1(x ❑0 )
¿ ¿ ¿ ¿
После прямой прогонки: z ❑ =( z ❑1 ❑ , z ❑2 ❑ , ... z ❑n ❑ )
● Задача о замене оборудования ()
Рассматривается система, связанная с эксплуатацией какого-либо оборудования. Рассчитано на n-шагов. В процессе
эксплуатации оборудование “стареет”, производительность падает, а стоимость обслуживания растет. Целесообразно
рассматривать замену оборудования.
Одной из экономических проблем, с которыми приходится встречаться на практике, является определение оптимальной
стратегии в замене старого оборудования. Старение оборудования включает в себя его физический и моральный износ, в
результате чего растут производственные затраты по выпуску продукции на старом оборудовании, увеличиваются затраты на его
ремонт и обслуживание, а вместе с тем снижается производительность и так называемая ликвидная стоимость.
Наступает момент, когда старое оборудование более выгодно продать, заменить новым, чем эксплуатировать ценой
больших затрат. Оптимальная стратегия замены оборудования состоит в определении оптимальных сроков замены. Критерием
оптимальности при определении сроков замены служит прибыль от эксплуатации оборудования. Условимся считать, что решения
о замене оборудования принимаются периодически в начале каждого промежутка (года, месяца и т.д.), на которые разбит
плановый период.
Основной характеристикой оборудования является его возраст. От возраста оборудования зависят эксплуатационные
расходы, затраты на производство, производительность и ликвидная стоимость.
Конкретно задача о замене оборудования ставится следующим образом.
Определить оптимальные сроки замены оборудования в течение n лет, при которых прибыль от эксплуатации
оборудования максимальна, если известны: p – начальная стоимость оборудования; R(t) – стоимость производимой продукции на
оборудовании возраста t лет; r(t) – ежегодные затраты на эксплуатацию оборудования возраста t лет; φ (t) – ликвидная стоимость
оборудования возраста t лет. Предполагаются, что к началу планового периода оборудование является новым.
Вложим данную задачу в схему динамического программирования.
I. Построим управляемую динамическую систему:
1) под k-м шагом будем понимать k-й год планируемого периода. Имеем n шагов;
2) под состоянием ε kбудем понимать возраст оборудования к концу k-го шага или к началу k+1-го шага. Отсюда вытекает,
что на каждом шаге состояние ε k может принимать следующие значения: 0,1,2. .. k ε 0=0 ; (1)
3) в качестве управления uk на каждом шаге выступают решения о замене и сохранении оборудования.
Обозначим через u решение о сохранении оборудования; u – решение о замене оборудования.
Формула для данной задачи имеет вид
(2)
II. Построим аддитивную целевую функцию. Под доходом на k-м шаге будем понимать прибыль от эксплуатации
оборудования на k-м шаге. Согласно условию задачи она, в зависимости от управления, будет выражаться следующим образом:
(3)
Очевидно, прибыль за n лет составит
(4)
Постановка 1.
Оборудование уникально, не имеет остаточной стоимости.
Вопрос: Когда менять оборудование?
Стоимость нового оборудования = цена нового - остаточная стоимость.
c ❑ij- стоимость затрат на замену эксплуатационного оборудования с i по j шаг (до начала j шага)
Модель должна включать все возможные решения.
Управление в виде графа: n = 4
С15
С14
С13 С35
С34
1 2 3 4 5
С23 С45
С12
С24
С25
1 2 3 4
Постановка 2.
Существует остаточная стоимость. Отдельно представляют затраты на эксплуатацию и замену.
Обозначим состояние как α β , где α - возраст к началу шага β , β - номер шага.
45
Э44
35
34
З34+Э41
Э43
Э33
24 25
23
З24+Э41
З23+Э31
Э22
Э32 Э42
12 13 14 15
З12+Э21
З13+Э31 З14+Э41
Э11
01
1 2 3 4
Обратная прогонка:
f ❑n( t)=min { эксплуатация :э ❑nt }
или f ❑n( t)=min { замена : з ❑tn + э ❑n 1 }, t - возраст оборудования в начале шага, t = 1,...n-1
⇒ f ❑n (t )=min { э ❑nt , з ❑tn + э❑n 1 }
...
i-шаг:
f ❑i ( t)=min { эксплуатация: э ❑it +1+ f ❑i+1 (t +1) }
или f ❑i ( t)=min { замена : з ❑ti + э❑i 1 +f ❑i+ 1(1) }
t = 1,...i-1
⇒ f ❑i (t)=min { э❑it +1+ f ❑i+1 (t +1) , з❑ti + э❑i1 + f ❑i+1 (1) }
…
f ❑1 ( 0)=min { ... }
f ❑s (t)≡0
● Марковские процессы принятия решений
S❑i, { S❑i }
(m - число состояний)
Шаги: 1, 2, ... n ... N
Управление: 1, 2, … k ... K
i, j - состояние
i, j = 1, 2, … m - состояния
S1
Si Sj
Si Pij
Sm
{Sj} {Si}
|Pij|mxm
Si Sj
Pij
Rij - результат
в нц
ко
в ча
на
Х С П
е
е
л
Х 0,6 0,3 7 5
0,1 3
P^0 С R^0
= =
0 0,6 0 5
П 0,4 2
0 0 0 0
1 1
в
ко
в
нце
на
Х С П
ч
е
ал
6 4
Х 0,8 0,2 0
R^1
0
P^1 С =
5 4
=
0,5 0,3 1
П 0,2
3 2
0,2 0,3 1
0,5
Стационарный способ/модель:
Если S❑i=¿ Х, то k 0 (k=0);
Если S❑i=¿ Средн/Плохая, то k 1( k=1)
0,6 0,3 7 5 3
0,1
Pстац = Rстац = 5 4 1
0,5 0,3
0,2 3 2 1
0,2 0,3
0,5
Динамическая модель:
S❑i, { S❑i }= { S ❑1 , S ❑2 , ... , S ❑m } - состояния в начале/конце шага
шаги: 1,2, …, n, …, N
управления: 1,2, …, k, …, K
Переходы: S❑i → S ❑ j ⇒ p❑ij ⇒ p❑ij ❑k ⇒|P❑ij ❑k|=P❑(k)
Результаты: S❑i → S ❑ j ⇒ r ❑ij ⇒ r ❑ij ❑k ⇒|R ❑ij ❑k|=R ❑(k)
S1 S1 S1
S1 S1 ) S1
(k
... 1^
... ) Ri
i1 (k
i 1R i 1^
Si Si P Si P
Sj Sj Sj
... ...
Pij(Rij+Fn+1(Sj)) Pij^(k)Rij^(k)
Pi
Sm Sm Sm m^
... (k)
... Ri
m^
Sm Sm Sm
( k)
N-шаг:
m
f ❑N (S ❑i )=max {∑ j=1
}
p❑ij ❑k r ❑ij ❑k ,k =|1,2. .., K|
S❑i ∈ { S ❑i }
Получаем: k ❑N ( S❑i )
n-шаг: S❑i ∈ { S ❑i } (max по k)
f ❑n( S ❑i )=max ¿
m
Проблемы:
● N→ ∞ α ❑i (при таком подходе начальное состояние тоже имеет вероятность)
● p❑ij ❑k ⇒ p❑ij ❑k , n (зависит от шага, могут изменяться)
k k ,n
● r ❑ij ❑ ⇒r ❑ij ❑
● α ❑i - коэффициент дисконтирования
1
α= , ρ -коэффициент инфляции
1+ ρ
Пример:
S, N=3
S❑i , S❑ j ∈ { S ❑1 , S ❑2 }
K=2,k =1,2
0,5 5 4
P1 = 0,5 R1 =
3 2
0,2
0,8
0,7 4 3
P2 = 0,3 R2 =
4 2
0,5
0,5
f1(1) = 12 f2(1) = 8,25 f3(1) = 4,5
1 1 1 1
2 2 2 2
f1(2) = 10,5 f2(2) = 6,75 f3(2) = 3
Поток событий
Под входящим потоком требований или событий понимается последовательность однородных событий, следующих одно
за другим в какие-то случайные моменты времени.
Поток характеризуется интенсивностью λ – частотой появления событий или средним числом событий, поступающих в СМО
в единицу времени. Определяется по формуле: λ=1/ E( A), где E( A) – среднее (МО) время поступления требований.
Поток событий называется регулярным, если события следуют одно за другим через определенные равные промежутки
времени.
Поток событий называется стационарным, если его вероятностные характеристики не зависят от времени. В частности,
интенсивность стационарного потока есть величина постоянная: λ(t) = λ.
Поток событий называется потоком без последействия, если для любых двух непересекающихся участков времени 1 τ 1 иτ 2
число событий, попадающих на один из них, не зависит от числа событий, попавших на другой.
Поток событий называется ординарным, если вероятность попадания на малый (элементарный) участок времени Δt двух и
более событий пренебрежимо мала по сравнению с вероятностью попадания одного события.
В качестве модели – простейший или Пуассоновский поток, представляющий собой последовательность моментов
времени на временной оси со случайным расстоянием между этими моментами и обладающий свойствами стационарности,
ординарности и отсутствия последствия.
Пусть случайная величина X выражает число событий (точек), попадающих на произвольный промежуток времени τ .
(λ τ )❑m − λτ
Величина Х распределена по закону Пуассона, тогда справедлива формула: Pm (τ)= e , – позволяющая найти вероятность
m!
того, что за время τ произойдёт m событий.
Для простейшего потока с интенсивностью λ вероятность попадания на элементарный отрезок времени Δt хотя бы одного
события потока равна: P Δt ≈ λ Δt .
Пример:
На автоматическую телефонную станцию поступает простейший поток вызовов с интенсивностью λ =1,2 вызовов в минуту.
Найти вероятность того, что за две минуты: а) не придет ни одного вызова; б) придет ровно один вызов; в) придет хотя бы один
вызов.
Решение: а) Случайная величина X – число вызовов за две минуты – распределена по закону Пуассона с параметром
λτ=1,2 ⋅2=2,4. Вероятность того, что вызовов не будет (m = 0): P0 (2)≈ e−2,4 ≈ 0,091
б) Вероятность одного вызова (m =1) по формуле (1): P1 (2)≈ 2,4 ⋅ 0,091≈ 0,218.
в) Вероятность хотя бы одного вызова: P( X ≥ 1)=1− P( X =0)=1− P 0(2)≈ 1 −0,091=0,909.
Процесс работы СМО представляет собой случайный процесс с дискретными состояниями и непрерывным временем.
Математический анализ работы СМО существенно упрощается, если процесс этой работы - марковский. Случайный процесс
называется марковским или случайным процессом без последствий, если для любого момента времени t 0 вероятностные
характеристики процесса в будущем зависят только от его состояния в данный момент t 0 и не зависят от того, когда и как системы
перешла в это состояние.
Систему можно составить непосредственно по размеченному графу состояний, если руководствоваться правилом, согласно
которому слева в уравнениях стоит предельная вероятность данного состояния pi, умноженная на суммарную интенсивность всех
потоков, ведущих из данного состояния, а справа – сумма произведений интенсивностей всех потоков, входящих в i -е состояние,
на вероятности тех состояний, из которых эти потоки исходят.
Переходы могут осуществляться из любого состояния только в соседние состояния. Все вероятности состояний выражаются через
одну из них:
,
Слагаемые в правой части представляют собой последовательные коэффициенты при p0в формулах для вероятностей
p1 , p2 , ..., pn.
Пример:
Три одинаковых узла образуют техническое устройство. Каждый из узлов может оказаться в состоянии неисправленности.
Отказавший узел сразу приступает к восстановлению. Состояние системы: S0– три узла в рабочем состоянии; S1– один узел
неисправен, два в рабочем состоянии; S2– два узла неисправны, два в рабочем состоянии; S3– три узла в неисправном состоянии.
Граф состояний представлен ниже.
Решение:
p0=(1+2/3+2/6+6 /12)=2/5=0,4 ;
p1=(2/3 ⋅2/5)=4 /15≈ 0,27 ;
p2=(1/3⋅ 2/5)=2/15 ≈ 0.13 ;
p3=(1/2⋅2 /5)=1 /5=0.2.
Таким образом, в установившемся, стационарном режиме в среднем 40% времени система будет находиться в состоянии S0;
27% – в состоянии S1, 13% - в состоянии S2, 20% – в состоянии S3.
Механизмы обслуживания ()
Механизм обслуживания — понятие теории массового обслуживания. Принято включать в это понятие три главные
характеристики системы обслуживания: а) время или длительность обслуживания; б) пропускную способность; в) доступность.
А) Время обслуживания — время, затрачиваемое системой на обслуживание отдельного требования; чаще всего
длительность обслуживания считают случайной величиной и характеризуют распределением F(t 1): оно означает вероятность
того, что время, затраченное на обслуживание требования, не больше чем t 1. Время ожидания обслуживания (пребывания в
очереди) некоторые авторы включают во время обслуживания, другие учитывают отдельно.
Б) Пропускная способность системы — это максимальное число требований, которые могут быть обслужены
одновременно.
В) Доступность системы включает описание всевозможных причин, по которым число требований, удовлетворяемых
одновременно, меньше, чем пропускная способность; кроме того, вся система может быть время от времени не готова к
приему требований (напр., обеденный
Дисциплины обслуживания ()
Дисциплиной обслуживания называется правило или набор правил, по которым выбирается заявка из очереди на
обслуживание.
1) без приоритетов;
2) с приоритетами.
Такова дисциплина обслуживания FIFO (First In – First Out, т.е. первым пришел – первым вышел: заявки выбираются из
очереди по порядку). Такая дисциплина обслуживания называется также круговой.
Примером кругового обслуживания может служить обычная очередь к кассе в магазине или к пункту
инструментального контроля автомобилей.
Также без приоритетной является дисциплина обслуживания LIFO (Last In – First Out, т.е. последним пришел – первым
вышел). В соответствии с этой дисциплиной обслуживания действует так называемая магазинная, или стековая память.
Примером такого обслуживания может служить заряжание патронов в обойму пистолета и их отстреливание.
1) абсолютный приоритет;
Абсолютный приоритет. Обслуживание более приоритетной заявки начинается сразу после ее поступления, а
обслуживание предыдущей заявки прерывается. Примером может служить междугородный телефонный звонок, который
разъединяет предыдущий разговор, что называется «на полуслове».
2) относительный приоритет;
Относительный приоритет. Сначала заканчивается обслуживание текущей заявки и только затем инициируется
обслуживание поступившей, более приоритетной, заявки. Пример – обслуживание «вне очереди» в парикмахерской клиента,
обладающего льготой, например, ветерана боевых действий в «горячих точках».
3) динамический приоритет.
Динамический приоритет. Приоритет заявки может изменяться в процессе ее нахождения в системе массового
обслуживания.
СМО с отказами
Для СМО с отказами характерны следующие характеристики:
1. А – абсолютная пропускная способность СМО, т.е. среднее число заявок, обслуживаемых в единицу времени;
2. Q – относительную пропускную способность, т.е. среднюю долю пришедших заявок, обслуживаемых системой;
3. Pотк – вероятность отказа – вероятность того, что заявка покинет СМО не обслуженной;
На один канал поступает поток заявок с интенсивностью λ , поток обслуживаний имеет интенсивность μ. Среднее время
обслуживания заявки определяется следующей формулой: Т об=1 / μ
Пример:
В фирму поступает простейший поток заявок на телефонные переговоры с интенсивностью λ = 90 вызовов в час, а средняя
продолжительность разговора по телефону Т об = 2 мин. Определить показатели эффективности работы СМО (телефонной связи)
при наличии одного телефонного номера.
Решение:
Интенсивность потока обслуживаний μ=1/Т об =1/2=0,5(1 / мин)=30(1/ч). Относительная пропускная способность СМО
Q=30 /(90+30)=0,25, т.е. в среднем только 25% поступающих заявок осуществят переговоры по телефону. Соответственно,
Pотк =1−0,25=0,75. Абсолютная пропускная способность СМО А=90 ⋅0,25=22,5 . Т.е. в среднем в час будут обслужены 22,5 заявки на
переговоры.
Многоканальная система с отказами задаётся графом ниже:
Для данной СМО характерна существует приведенная интенсивность потока заявок или интенсивность нагрузки канала,
которая определяется следующей формулой: λ /μ=ρ . Среднее число занятых каналов так же может определяться формулой:
k = A/ μ.
Пример:
В условиях предыдущего примера определить оптимальное число телефонных номеров в фирме, если условием
оптимальности считать удовлетворение из каждых 100 заявок на переговоры в среднем не менее 90 заявок.
Решение:
За время среднего телефонного разговора Т об=2мин поступает в среднем ρ=90/30=3 заявки на переговоры. Увеличим число
каналов и определим характеристики обслуживания. Значения характеристик занесены в таблицу.
По условию оптимальность Q ≥0,9 , следовательно, фирме необходимо установить 5 телефонных номеров. При этом в час
будут обслуживаться в среднем 80 заявок, а среднее число занятых телефонных номеров k =80,1/30 ≈ 2,67.
СМО с ожиданием (с очередью)
Граф состояний одноканальной СМО с ожиданием и ограничением на длину очереди представлен ниже.
S0−¿канал обслуживания свободен, S1−¿ канал обслуживания занят, но очереди нет, S2−¿ канал обслуживания занят, в
очереди стоит 1 заявка, Sm −¿канал обслуживания занят, в очереди все m заявок, любая следующая заявка получает отказ.
Для данной СМО определены следующие характеристики:
1. А – абсолютная пропускная способность СМО:
ρ≠1 ρ=1
(при ) , (при ) ,
4. Lсист −¿среднее число находящихся в системе заявок:
S0−¿все каналы свободны, S1−¿ занят только один канал, но очереди нет, Sn−¿заняты все n каналов, Sn +1−¿заняты все n
каналов и одна заявка в очереди, Sn +m−¿заняты все n каналов и все m мест в очереди.
1. А – абсолютная пропускная способность СМО:
Пример:
На некоторую базу в среднем через 30 мин прибывают автомашины с продукцией. Среднее время разгрузки одной машины
составляет 1,5 часа. Разгрузку производят две бригады грузчиков. На территории базы могут находиться в очереди в ожидании
разгрузки не более 4 автомашин. Определить показатели работы СМО.
Решение:
СМО двухканальная n=2, c m=4 мест в очереди. Интенсивность обслуживания μ=1/1,5=2/3машины в час. Приведенная
интенсивность потока заявок: ρ=λ/ μ=3. Вероятность того, что все бригады не загружены: р0=¿ Вероятность отказа:
Ротк =(3 ¿ ¿ 6 /2 4 2 !)⋅ 0,0158=0,36 ¿ . Относительная пропускная способность: Q=1−Pотк =1−0,36=0,64 . Абсолютная пропускная
способность: А=2⋅ 0,64=1,28 авт . ч.Среднее число занятых бригад: k зан =3 ⋅0,64=1,92. Среднее время ожидания в очереди:
Т оч=2,6 /2=1,3часа. Среднее число заявок в системе: Lсист =2,6+1,92=4,52. Среднее время пребывания заявки в СМО: Т сист=4,52/2=2,26
часов.
Одноканальная СМО с неограниченной очередью характерна тем, что любая заявка может быть обслужена, поэтому
Ротк =0 , следовательно, Q=1 , A= λ. Предельные вероятности: pm =ρm (1− ρ). Среднее число заявок в очереди: Lоч =ρ2 /(1−ρ), среднее
число заявок в системе: Lсист =ρ/(1−ρ), среднее время ожидания обслуживания в очереди: Т оч=L оч / λ, Т сист=¿Lсист /λ .
Размеченный граф одноканальной СМО с неограниченной очередью представлен ниже:
, .
.
3. Среднее число занятых каналов:
СМО замкнутая ()
СМО замкнутая — это система массового обслуживания, в которой есть фиксированное число источников заявок. Поток
заявок каждого источника имеет одинаковую интенсивность. Первоначальный поток заявок имеет интенсивность большую в
«число источников»-раз, чем поток заявок от одного источника. Каждое поступление заявки, снижает интенсивность входного
потока на интенсивность потока от одного источника. Если заявка приходит, в момент, когда все каналы свободны, то она
немедленно поступает на обслуживание одним любым каналом. Если заявка приходит, в момент, когда свободен хотя бы один
канал, то она немедленно поступает на обслуживание одним из свободных каналов. Если заявка приходит, в момент, когда все
каналы заняты, то она становится в очередь и ожидает освобождения канала, который её может обслужить.
На вход n-канальной СМО с m-очередью поступает поток заявок от (n+m)-источников, причем каждый источник заявок дает
простейший поток заявок с интенсивностью λ. Интенсивность простейшего потока обслуживания каждого канала μ.
Если заявка застает все каналы свободными, то она принимается на обслуживание и обслуживается одним из n каналов.
После окончания обслуживания один канал освобождается. Если вновь прибывшая заявка застает в системе свободным хотя бы
один канал, то она принимается на обслуживание одним из свободных каналов и обслуживается до конца. Если заявка застает
все каналы занятыми, то она становится в очередь и «терпеливо» ждет своего обслуживания.
Дисциплина очереди естественная: кто раньше пришел, тот раньше и обслуживается. Максимальное число мест в очереди
m. Каждое поступление заявки, снижает интенсивность входного потока на поток от одного источника.
Состояние рассмотренной системы будем связывать с числом заявок, находящихся в системе.
Граф состояний:
…;
…;
Sn — в системе имеется n-заявок, они обслуживаются n-каналами, очереди нет;
Sn+1 — в системе имеется (n+1)-заявок, n из них обслуживаются n-каналами, а одна заявка ожидает в очереди;
…;
Sn+r — в системе имеется (n+r)-заявок, n из них обслуживаются n-каналами, а r-заявок ожидают в очереди;
…;
Sn+m — в системе имеется (n+m)-заявок, n из них обслуживаются n-каналами, а m-заявок ожидают в очереди.
СМО многофазные ()
Многофазными называются СМО, состоящие из нескольких последовательно соединенных подсистем массового
обслуживания, причем входящий поток каждой последующей подсистемы является выходящим предыдущей.
Рассмотрим подсистемы – одно- и многоканальные с очередями (например, число мест в очереди неограниченно) -
интенсивность обслуживания n каналами.
При сделанных предположениях и при пуассоновских потоках заявок и обслуживания выходящий поток СМО будет
пуассоновским. Отличительная особенность многофазных СМО является последовательное преобразование (по фазам)
элементов входного потока несколькими приборами.
Многофазная одноканальная СМО. Например, технологическая цепочка – токарная обработка детали, термообработка,
шлифование.
Поток заявок на входе в каждый прибор предполагается случайным, ординарным, однородным, при отсутствии
последействия.
Возможные состояния многофазной одноканальной СМО могут быть описаны вектором вида , где k i – длина очереди
заявок на входе i-го прибора; , если i-ый прибор свободен, и , если i-ый прибор занят.
Предполагается, что при наличии заявки в очереди на входе в прибор, при уходе неё обработанной заявки,
освободившееся место тотчас занимается заявкой, стоящей в очереди.
Пример:
Заявка поступает на вход первой фазы, представляющей собой одноканальную СМО с ожиданием и ограничением по длине
очереди. Если канал свободен, начинается обслуживание, в противном случае заявка становится в очередь, если она не
превышает предельно допустимую , и ждет начала обслуживания случайное время , распределенное в соответствии с
, где среднее число заявок, покидающих очередь в единицу времени, причем ; среднее значение
продолжительности ожидания начала обслуживания.
Обслуженная первой фазой заявка поступает во вторую фазу, представляющую собой канальную СМО без потерь. Будем
считать, кроме того, что в системе действует эффект «блокировки», проявляющийся в том, что первая фаза не принимает заявок
на обслуживание, даже если ее канал свободен, когда заняты все каналы второй фазы. Пусть на вход СМО поступает простейший
поток с интенсивностью , а интенсивности обслуживания для первой и второй фаз соответственно равны и .
Введем множество возможных состояний системы. Каждому состоянию системы поставим в соответствие пару чисел ,
где количество заявок, связанных с первой фазой системы (оно равно сумме числа обслуживаемых и находящихся в очереди
заявок), число заявок, обслуживаемых второй фазой.
Изобразим граф состояний и переходов системы для случая, когда , а максимальная длина очереди (рис). Эффект
«блокировки» сказывается здесь следующим образом: если (оба канала второй фазы заняты), то все заявки, связанные с
первой фазой, находятся в очереди.
Действуя в соответствии с общей методикой, запишем систему уравнений относительно финальных вероятностей системы.
Решение системы дает искомый набор вероятностей .С использованием этого набора определим
некоторые показатели эффективности системы. Для оценки пропускной способности системы рассчитаем среднее число заявок,
обслуживаемых системой в единицу времени, равное
Вероятность блокировки .
СМО с приоритетами ()
В таких СМО каждой заявке назначается некоторый приоритет. Если в очереди находятся заявки с разными приоритетами,
то первыми на обслуживание поступают заявки с более высоким приоритетом.
Для такой дисциплины обслуживания заявок точный расчет характеристик возможен только при следующих условиях: поток
заявок является пуассоновским; СМО является одноканальной; нет ограничений на очередь. Другими словами, тип СМО – M/M/1
или M/G/1 без ограничений на очередь.
В СМО с относительными приоритетами заявка, поступившая на обслуживание (т.е. в канал), всегда обслуживается до
конца, даже если в это время поступает заявка с более высоким приоритетом.
В СМО с абсолютными приоритетами обслуживание заявки прерывается, если поступает заявка с более высоким
приоритетом. Заявка, обслуживание которой было прервано, возвращается в очередь и поступает на обслуживание только тогда,
когда в очереди не останется ни одной заявки с более высоким приоритетом.
7. Модели и методы анализа конфликтных ситуаций ()
Анализ конфликтных ситуаций. Основные понятия теории игр
Оптимальные решения или стратегии в математическом моделировании предлагались еще в XVIII в. Задачи производства и
ценообразования рассматривались в XIX в. А. Курно и Ж. Бертраном. В начале XX в. Эмануэль Ласкер, Эрнст Цермело и Эмиль
Борель выдвигают идею математической теории конфликта интересов.
Математическая теория игр берёт своё начало из неоклассической экономики. Впервые математические аспекты и
приложения теории были изложены в классической книге 1944 года Джона фон Неймана и Оскара Моргенштерна “Теория игр и
экономическое поведение” (англ. Theory of Games and Economic Behavior).
В настоящее время в практической деятельности часто приходится рассматривать явления и ситуации, в которых участвуют
две и более стороны, имеющие различные интересы и обладающие возможностями применять для достижения своих целей
разнообразные действия. Подобные явления и принято называть конфликтными, или просто конфликтами.
Конфликтная ситуация - состояние борьбы двух или нескольких сторон, в которой каждый из участников оказывает лишь
частичное влияние на результат этой борьбы.
Где встречается: военная борьба, информационная борьба, экономика, юриспруденция.
Игра - совокупность правил и соглашений, определяющих поведение участников игры в каждой конкретной ситуации, и
результат, к которому они стремятся; формализованная модель конфликта.
Игрок - сторона, участвующая в игре (конкретный индивидуум, группа лиц, физическая система, физический параметр и т.
д.).
Ход - момент игры, когда один из игроков принимает то или иное решение.
Выбор - выбранная стратегия игрока/игроков.
Стратегия - однозначное определение поведения игрока (выбор игрока) в каждой конкретной ситуации.
Классификация игр
u1 ,u 2 , ... ,u n - игроки
p1 , p2 , ..., pn - платежи (результаты игры в конце партий)
n
Рассмотрим следующую модель. Некоторый субъект А (предприниматель, организация, совет и др.) желает принять
решение, на результат которого влияет другой субъект В, цели которого противоположны А. При этом В анализирует все
возможные варианты А и принимает такое решение, которое приводит к наименьшему выигрышу А (соответственно
максимальному своему выигрышу). Примерами таких ситуаций служат отношения между продавцом и покупателем, адвокатом и
прокурором, кредитором и дебитором, истцом и ответчиком и т.д.
Подобные ситуации называются конфликтными. Математические методы анализа конфликтных ситуаций объединяются
под названием теории игр, сама конфликтная ситуация носит название игры, а стороны, участвующие в конфликте, называются
игроками. Если в игре участвуют только две стороны, то игра называется парной. Исход игры называется выигрышем (или
проигрышем) игроков. Если выигрыш одного игрока равен проигрышу другого, то игра называется антагонистической.
Пусть игрок А может выбрать в качестве действий одну из п альтернатив: А1, А2,…, Аn. Эти альтернативы в теории игр
принято называть стратегиями. Аналогично, игрок В может принять одну из m стратегий В1, В2,…, Вm. Предположим, что известны
выигрыши (проигрыши) игрока А при любой выбранной им стратегии Аi и любом ответе ему игроком В – стратегии Вj. Пусть этот
результат выражен числом аij (которое может быть и отрицательным в случае проигрыша А). Величины аij образуют матрицу:
Для
A\B B1 B2 ... Bj ... Bn
игрока A
.. max i min j u ij
A1 a 11 a 12 ... a1 j a 1n min j a1 j
.
..
A2 a 21 a 22 ... a2 j a 2n min j a2 j
.
..
... ... ... ... ... ... ...
.
..
Am am1 am2 ... a mj a mn min j amj
.
Выигрыш B = - выигрыш A.
A: a ij ↑
B: a ij ↓
Эта матрица называется платежной или матрицей игры.
Рассмотрим игру со стороны А. Он, выбирая свою стратегию Аi, понимает, что В ответит ему такой стратегией Вj, чтобы
выигрыш А был минимальным. Поэтому, из всех наихудших вариантов (минимальных элементов каждой строки платежной
матрицы)
α i=min j (α ij ), игроку А выгодно выбрать стратегию, соответствующую максимальному из этих элементов:
α =max i (α i )=max i min j (α ij )
Величина называется нижней ценой игры или максимином. Это гарантированный выигрыш игрока А. С другой стороны,
игрок В выбирая свою стратегию Вj понимает, что игрок А ответит такой стратегией Аi, чтобы его выигрыш был максимален.
Поэтому из наилучших вариантов для А (максимальных элементов каждого столбца) β=max i (α ij ) игроку В рационально выбрать
свою стратегию, соответствующую минимальному из этих чисел:
β=min j (β j )=min j max i (α ij )
Величина называется верхней ценой игры или минимаксом. Это максимальный проигрыш игрока В. Реальный результат
решения конфликтной ситуации, называемый ценой игры , заключен между верхней и нижней ценой: α ≤ υ ≤ β . В случае, если
верхняя и нижняя цены совпадают, то игра имеет решение в чистых стратегиях, то есть можно точно определить стратегии A ,B ,
которые выгодны для обеих сторон. Если одна сторона отойдет от своей оптимальной стратегии, то ее выигрыш от этого только
уменьшится.
Теорема 1
f (x , y ) - действительная функция вещественных переменных, x ∈A, y ∈B.
Тогда max x min y f (x , y ) ≤min y max x f (x , y).
Доказательство:
x ∈A, y ∈B
По определению min: min y f (x , y )≤ f ( x , y).
По определению max: f (x , y )≤ max x f (x , y ).
Следовательно min y f (x , y )≤ max x f (x , y ).
min y f (x , y )≤ min y max x f ( x , y )
f(х, у)
f(х0, у0)
y0
y
х0
х
f (x , y 0 )≤ f ( x0 , y 0 )≤ f ( x 0 , y)
∀ x ∈A ∀ y ∈B
A: V ≤u i j 0
A→
B←
Смешанные стратегии. Основная теорема теории игр
Смешанные стратегии
A: Ai , p ( A i )=x i
B: B j , p (B j )= y j
Результат выбора: Ai × B j ⇒ uij .
uij x i y j
❑
∑ u ij x i y j=M ( X , Y ) - средний результат в бесконечной последовательности партий.
i, j
Тогда существуют max x min y M ( x , y) и min y max x M (x , y). И max x min y M (x , y)=min y maxx M ( x , y ), т. е. M (x , y ) имеет седловую точку.
Решение матричной игры (m⨯n) среди смешанных стратегий. Теорема об
активных стратегиях
Игры (m⨯n) с седловой точкой, имеющие практическое значение, встречаются достаточно редко. Более
типичным является случай, когда нижняя и верхняя цены игры различны.
Анализируя платежные матрицы игр (m⨯n) , мы показали, что если каждому игроку предоставить выбор только
одной стратегии, то в расчете на разумного противника этот выбор должен определяться принципом минимакса. При
этом игрок А гарантирует себе выигрыш, равный нижней цене игры 𝛂. Возникает вопрос: нельзя ли обеспечить выигрыш
больший 𝛂, если применять не чистую стратегию, а чередовать случайным образом несколько стратегий. Такие стратегии,
состоящие в случайном чередовании исходных стратегий, называются смешанными.
При использовании смешанной стратегии перед каждой партией игры пускается в ход какой-то механизм случайного
выбора, обеспечивающий появление каждой стратегии с некоторой вероятностью, и затем принимается стратегия, на которую
пал жребий.
Смешанные стратегии представляют собой математическую модель гибкой тактики, при которой противник не знает и не
может узнать заранее с какой обстановкой ему придется встретиться.
Пусть имеется игра (m⨯n) без седловой точки. Игрок А имеет стратегии Аi (i =1 , m), а игрок В — стратегии Вj (j =1 , n).
Обозначим смешанную стратегию игрока А как SА(p1,p2,...,pm), в которой стратегии, A1,A2,...,Am применяются с вероятностями
(p1,p2,...,pm) соответственно. Очевидно для этих вероятностей справедливы условия:
Смешанную стратегию игрока В обозначим SB(q1,q2,...,qn), в которой стратегии B1,B2,...,Bn применяются с вероятностями q1,q2,...,qn. Они
удовлетворяют условиям:
Отметим, что смешанных стратегии бесчисленное множество, так как вероятностей pi(qj), удовлетворяющих условиям (1)-(2) ((3)-(4))
бесчисленное множество.
Поскольку игроки в партии применяют стратегии случайным образом, то и исход партии будет случайным.
Допустим игроки А и В используют соответственно свои смешанные стратегии SА и SB. Тогда среднее значение выигрыша будет равно:
Пара смешанных стратегий (S*A,S*B) называется оптимальной парой, если ни одному из игроков невыгодно от нее отклоняться, если противник
придерживается оптимальной смешанной стратегии. Величина среднего выигрыша 𝜸=J(S*A,S*B) называется ценой игры.
Из определения оптимальной пары (S*A,S*B) следует неравенство:
Из этого неравенства вытекает, что оптимальная пара (S*A,S*B) является седловой точкой на платежной функции
J(S*A,S*B). Таким образом для определения оптимальной пары смешанных стратегий (S*A,S*B) необходимо найти седловую
точку на платежной функции. Предположим, что найдено решение рассматриваемой игры. В оптимальных смешанных
стратегиях некоторые вероятности pi и qj могут быть равными нулю. Это означает, что соответствующие им стратегии не
используются. Такие стратегии называются пассивными, а те стратегии, которые входят в оптимальную смешанную
стратегию называются активными.
Для найденных вероятностей справедливы равенства и . Выигрыш при этом равен цене игры:
Выигрыш игрока А, если он пользуется оптимальной смешанной стратегией S*A, а игрок В — чистыми стратегиями B1,B2,...,Bs,
обозначим через 𝜸1,𝜸2,...,𝜸s. Из свойства оптимального решения игры следует, что отклонение игрока В от оптимальной стратегии
S*B может лишь увеличить его проигрыш. Следовательно 𝜸1,≥𝜸,𝜸2≥𝜸,...,𝜸s≥𝜸.
Выразим теперь цену игры 𝜸 при оптимальной паре (S*A,S*B) через выигрыш 𝜸1,𝜸2,...,𝜸s. Так как в оптимальной смешанной
стратегии S*B стратегии B1,B2,...,Bs применяются с вероятностями q1*,q2*,...,qs*, то 𝜸=𝜸1q1*+𝜸2q2*+...+𝜸sqs*. При этом справедливо
X ∈ S m, Y ∈ Sn
V - цена игры
Чтобы X ∈ S m был оптимальной стратегией игрока A, необходимо и достаточно, чтобы M (X ,Y )≥ V , ∀ Y ∈ S n.
¿ ¿
Доказательство:
Необходимость.
X ¿ ∈ S m, Y ¿ ∈ S n - оптимальные стратегии A и B.
M (X , Y ¿ )≤ M (X ¿ ,Y ¿ ) ≤ M ( X ¿ , Y )
∀ X ∈ Sm ∀ Y ∈ Sn
V
Достаточность.
M (X ¿ ,Y )≥ V , Y ∈ Sn (1)
По теореме 3 ∃ оптимальные стратегии игроков A и B.
( X ' , Y ') - стратегическая седловая точка
M (X , Y ' )≤ M (X ' , Y ')≤ M ( X ' ,Y ) (2)
∀ X ∈ Sm ∀ Y ∈ Sn
V
¿
В (2) X =X ¿: M (X ,Y ' )≤V (3)
¿
В (1) Y =Y ' : M (X ,Y ')≥V (4)
(3), (4) ⇒ M (X ,Y ')=V (5)
¿
∀ X ∈ Sm ∀ Y ∈ Sn
V
(6) ⇒ ( X ,Y ') - стратегическая седловая точка, т. е. X ¿ - оптимальная стратегия A.
¿
Обозначения:
X i =(0 , 0 , ... , x i=1 , ... ,0) - i-ая стратегия
Y j=( 0 ,0 , ... , y j=1 , ... ,0) - j-ая стратегия
❑
M (X i , Y )=M (i, Y )=∑ uij y j
j
❑
M (X , Y j )=M ( X , j)=∑ uij x i
i
❑
∑ M (i , Y ) x i=M (X , Y )
i
❑
∑ M ( X , j) y j =M ( X ,Y )
j
Теорема 5
∥uij ∥ - платежная матрица
X ∈ S m, Y ∈ Sn
❑
M (X , Y )=∑ uij x i y j
i, j
¿ ¿
Для того чтобы X ¿ и Y ¿ были оптимальными стратегиями A и B, а V - ценой игры, необходимо и достаточно, чтобы M (i ,Y )≤V ≤ M ( X , j ).
∀ i=1 ,... , m ∀ j=1 , ... , n
Доказательство:
Необходимость.
X ¿ , Y ¿ - оптимальные стратегии, V - цена
M (X , Y ¿ )≤ V ≤ M ( X ¿ , Y )
∀ X ∈ Sm ∀ Y ∈ Sn
в т. ч. X =X i Y =Y j
M (i ,Y ¿ )≤V ≤ M ( X ¿ , j )
Достаточность.
M (i ,Y ¿ )≤V ≤ M ( X ¿ , j )
∀ i=1 ,... , m ∀ j=1 , ... , n
X =(x 1 ,... , x i , ... , x m )∈ S m
¿
M (i ,Y ) ≤V
❑ ❑
∑ M (i , Y ¿ )x i ≤ ∑ V x i
i i
M (X , Y ¿ ) ≤ V (1*)
¿ ¿
X =X ¿: M (X ,Y )≤V (1)
Y =( y 1 ,... , y j , ..., y n )∈ S n
V ≤ M ( X ¿ , j)
❑ ❑
∑ V y j ≤ ∑ M ( X ¿ , j) y j
j j
V ≤ M (X ¿ ,Y ) (2*)
¿ ¿
Y =Y ¿: V ≤ M ( X , Y ) (2)
¿ ¿
(1), (2): M (X ,Y )=V (3)
¿ ¿ ¿ ¿
(1*), (2*), (3): M (X , Y )≤ M (X ,Y ) ≤ M ( X , Y )
∀ X ∈ Sm ∀ Y ∈ Sn
M (X ¿ ,Y ¿ )=V
По определению | X ¿ ,Y ¿| - оптимальная стратегия.
Следствие теоремы 5
X ∈ S m, Y ¿ ∈ S n, V - цена игры
¿
¿
Чтобы X ¿ было оптимальной стратегией A, необходимо и достаточно, чтобы M (X , j)≥V , j=1 ,2 , ..., n.
¿
Чтобы Y ¿ было оптимальной стратегией B, необходимо и достаточно, чтобы M (i ,Y ) ≤V , i=1 , 2, ... , m.
Теорема 6 (теорема двойственности)
∥uij ∥ - платежная матрица
X ¿ ∈ S m, Y ¿ ∈ S n - оптимальные стратегии
V - цена игры
X ¿ =( x1¿ ,... , xi¿ , ... , x m¿ )
Y ¿ =( y1¿ , ... , y j¿ , ... , y n¿ )
¿
Если для некоторого i∈ 1 ,m: M (i ,Y )<V , то x i =0.
¿
¿
Если для некоторого j ∈1 , n: M (X , j)>V , то y j =0 .
¿
❑ ❑
∑ M ( k ,Y ¿ ) x k ¿ ≤ ∑ V x k ¿, k =0 , 1 ,... , i−1 ,i+1 ,... , m (1)
k k
¿
Из следствия теоремы 5 (M (k , Y )≤V , k =1 ,2 , ... ,m)
M (i ,Y ¿ ) x i¿ <V x i¿ (2)
❑ m m
∑ (1)×(2): ∑ M ( k ,Y ¿ ) x k¿ <∑ V x k¿
❑ k =1 k=1
M (X ¿ ,Y ¿ )<V
¿
Т. е. x i =0.
∥uij ∥, X ∈ S m, Y ∈ Sn , V - цена
A: Ai ≽ A k, если uij ≥ ukj , j=1 ,2 , ..., n.
(стратегия Ai доминирует над стратегией Ak )
B: B j ≽ Br , если uij ≤ uir , i=1 , 2, ... , m.
❑
Пример:
Платежная матрица:
0 1 1 2 A1
2 0 -1 0 A2
3 2 0 3 A3
-1 1 2 1 A4
A3 ≻ A2
0 1 1 2
3 2 0 3
-1 1 2 1
B1 B2 B3 B4
B2 ≻ B 4
0 1 1 A1
3 2 0 A3 α3
-1 1 2 A4 α4
3 α 3−α 4 ≥0
2 α 3 + α 4 ≥ 1 ⇒ α 3=1/4 , α 4 =3/ 4
2 α 4≥ 1
3 2 0
-1 1 2
B1 B2 B3
β1 β3
3 β1≤ 2
−1 β1 +2 β 3 ≤ 1 ⇒ β 1=1/3 , β3 =2/3
3 0
-1 2
x1 1 -1 -1
uij =¿ x2 -1 -1 3
x3 -1 2 -1
V 1=−1
V 2=1
V 1 <V 2
M (X ¿ , j)≥V , j=1, 2 , 3
M (i ,Y ¿ )≤V , i=1 , 2, 3
x 1−x 2−x 3 ≥ V
−x 1−x 2+ 2 x 3 ≥ V ≥ →=¿
−x 1+ 3 x 2−1 x 3 ≥ V
y 1− y 2− y 3 ≤ V
− y 1− y 2 +3 y 3 ≤V ≤ →=¿
− y 1 +2 y 2− y 3 ≤ V
x 1+ x2 + x 3=1
y 1 + y 2+ y 3=1
x1, x2 , x3≥ 0
y1 , y2 , y3 ≥ 0
x1 u11 u12
x3 u31 u32
x 1+ x2 + x 3=1
x1, x2 , x3≥ 0
A↑ ⇒ V ↑
u11 x 1+ u21 x 2+ u31 x 3−z 1=V
u12 x 1 +u22 x 2 +u32 x 3−z 2=V
x 1+ x2 + x 3=1
x1 , x2 , x3 ≥ 0
Критерии
max i min j u ij - критерий Вальда
max i max j u ij
α max i min j uij +(1−α )max i max j uij - критерий Гурвица
α - коэффициент пессимизма
Критерий Сэвиджа.
A\B
1 -1 -1 0 3 4
⇒
-1 -1 3 2 3 0
(A)
-1 2 -1 2 0 4
Матрица потерь
max i min j
min j max i
r ij =max i uij −u ij , j=1 , 2 ,... , n ,i=1, 2 , ..., m
‖uij ‖ → ‖r ij ‖
Игры с природой ()
В рассмотренных ранее задачах соперником игрока был другой игрок, который осознанно выбирал стратегию с
максимальной выгодой для себя и минимальной для соперника. Однако, часто бывают ситуации, когда соперник не является
мыслящим субъектом, и свой выбор он осуществляет случайно, вне зависимости выгодно это сопернику или нет. Такие ситуации в
теории игр называются «играми с природой». Рассмотрим такие модели.
Различают два вида задач в играх с природой:
1. Задача о принятии решений в условиях риска, когда известны вероятности, с которыми природа принимает каждое из
возможных состояний;
2. Задачи о принятии решений в условиях неопределенности, когда нет возможности получить информацию о
вероятностях появления состояний природы;
Предположим, что игрок А имеет п чистых стратегий, которые обозначим A1 A2, .., An . Результат выбора (выигрыш игрока)
зависит от того, как будет развиваться ситуация, на которую игрок повлиять никак не может. Предположим, что игрок выделяет m
вариантов развития ситуации, которые обозначим S1, S2,..., Sm . Данные варианты в теории принятия решений называют
«Состояниями природы», т.к. в большинстве реальные задачи этого типа связаны с погодными, климатическими, социальными и
другими неопределенностями.
Допустим, что известен результат для игрока А (выраженный количественно) при каждой альтернатива Ai и развитии
ситуации B j . Обозначим его a ij . Получаем матрицу A = (a ij) , которую называют матрицей выигрышей или матрицей потерь, в
зависимости от того, максимизируется или минимизируется результат для игрока.
В соответствии с реальными условиями, существует несколько критериев выбора стратегии. Для более наглядного
описания этих методов, рассмотрим их на примерах. Изучим сначала критерии максимизации результата, когда показатели
привлекательностиa ij a чем больше, тем лучше для игрока А.
Пример.
Директор торговой фирмы, продающей телевизоры марки «Zarya» решил открыть представительство в областном центре.
У него имеются альтернативы либо создавать собственный магазин в отдельном помещении, либо организовывать
сотрудничество с местными торговыми центрами. Всего можно выделить 5 альтернатив решения: A1 , A2, A3, A 4, A5. Успех торговой
фирмы зависит от того, как сложится ситуация на рынке предоставляемых услуг. Эксперты выделяют 4 возможных варианта
развития ситуации S1 , S2, S3, S4 , S5.
Прибыль фирмы для каждой альтернативы при каждой ситуации представлена матрицей выигрышей a ij (млн. р./год).
A\B B1 B2 B3 B4
A1 8 12 14 5
A2 9 10 11 10
A3 2 4 9 22
A4 12 14 10 1
A5 15 6 7 14
Рассмотрим основные критерии, позволяющие выбирать оптимальную альтернативу для принятия решения.
1) Критерий Лапласа
Он основан на предположении, что каждый вариант развития ситуации (состояния «природы») равновероятен. Поэтому,
для принятия решения, необходимо рассчитать функцию полезности F i для каждой альтернативы, равную
среднеарифметическому показателей привлекательности по каждому «состоянию природы»:
m
1
F i= ∑a
m j=1 ij
Выбирается та альтернатива, для которой функция полезности максимальна.
F 1=9,75
F 2=10
F 3=9,25
F 4=9,25
F 5=10,5
Видно, что функция полезности максимальна для альтернативы А5, следовательно ее рациональнее всего принять.
2) Критерий Вальда
Данный критерий основывается на принципе максимального пессимизма, то есть на предположении, что скорее всего
произойдет наиболее худший вариант развития ситуации и риск наихудшего варианта нужно свести к минимуму. Для
применения критерия нужно для каждой альтернативы выбрать наихудший показатель привлекательности α i (наименьшее число
в каждой строке матрицы выигрышей) и выбрать ту альтернативу, для которой этот показатель максимальный. Для нашего
примера:
α 1=5
α 2=9
α 3=2
α 4=1
α 5=6
Видно, что наилучшим из наихудших показателей обладает альтернатива A2 , для нее α 2=9 наибольшее.
3) Критерий максимального оптимизма
Наиболее простой критерий, основывающийся на идее, что ЛПР, имея возможность в некоторой степени управлять
ситуацией, рассчитывает, что произойдет такое развитие ситуации, которое для него является наиболее выгодным. В
соответствии с критерием принимается альтернатива, соответствующая максимальному элементу матрицы выигрышей. Для
приведенного примера эта величина α 34=22 , поэтому выбираем альтернативу A3 .
4) Критерий Сэвиджа
Он основан на принципе минимизации потерь, связанных с тем, что ЛПР принял не оптимальное решение. Для решения
задачи составляется матрица потерь, которая называется матрицей рисков , которая получается из матрицы выигрышей путем
вычитания из максимального элемента каждого столбца всех остальных элементов. В рассматриваемом примере эта матрица
есть:
A\B B1 B2 B3 B4
A1 7 2 0 17
A2 6 4 3 12
A3 13 10 5 0
A4 3 0 4 21
A5 0 8 7 8
Далее, для каждой альтернативы определяем величины β i , равные максимальному риску (наибольшее число в каждой
строке матрицы рисков) и выбирают ту альтернативу, для которой максимальный риск минимален. В нашем примере:
β 1=17
β 1=12
β 1=13
β 1=21
β 1=18
Принимаем альтернативу А2 .
5) Критерий Гурвица
Это самый универсальный критерий, который позволяет управлять степенью «оптимизма - пессимизма» ЛПР. Введем
некоторый коэффициент α , который назовем коэффициентом доверия или коэффициентом оптимизма. Этот коэффициент можно
интерпретировать как вероятность, с которой произойдет наилучший для ЛПР исход. Исходя из этого, наихудший вариант можно
ожидать с вероятностью (1-α ). Коэффициент доверия показывает, насколько ЛПР может управлять ситуацией и в той или иной
степени рассчитывает на благоприятный для него исход. Если вероятности благоприятной и неблагоприятной ситуации для ЛПР
равны, то следует принять α =0,5.
+ ¿¿ −¿¿
Для реализации критерия определяются наилучшие a i и наихудшие a i значение каждой альтернативе по формулам
a+i ¿=max (a )=min (a )¿
j ij j ij
F i=a+¿∗α +a i ¿
i
Если решение принимается в условиях неопределенности, то лучше использовать несколько критериев. В том случае, если
рекомендации совпадают, можно с уверенностью выбирать наилучшее решение. Если рекомендации противоречивы, решение
надо принимать более взвешенно, с учетом сильных и слабых сторон.
8. Принятие решений в условиях нечеткости ()
Виды нечетких ситуаций
Вспомним, что принятие решения есть выбор лучшей альтернативы x* из множества W в соответствии с принципом
оптимальности СОП(W).
Во многих ситуациях реальной жизни существуют неопределенности, заданные на расплывчатой шкале, и обозначаемые не
числами, а словами. Такие ситуации называются нечеткими, а принятие решения в таких условиях называется принятием
решения в условиях нечеткости.
Нечетко описаны альтернативы из множества W, т. е. свойства альтернатив могут быть оценены только на качественном
уровне. В качестве таких оценок могут выступать слова «хорошо», «плохо», «быстро», «медленно», «много», «мало».
Задача принятия решения в этой ситуации заключается в выборе из множества W альтернативы, соответствующей какому-
то идеалу более всех других альтернатив. Для выбора такой альтернативы нужно установить степень соответствия каждого
свойства анализируемых альтернатив аналогичному свойству идеала. А затем следует выбрать такую альтернативу, у которой
степень соответствия идеалу наилучшая.
В данном случае требуемые значения свойств идеала выступают в роли принципа оптимальности С ОП(W).
Нечеткая ситуация второго вида. Нечетко заданы условия определения принципа оптимальности
Нечетко заданы условия определения принципа оптимальности С ОП(W), т. е. не понятно с каким из известных идеалов
следует сравнивать альтернативы. Такая ситуация возникает, когда идеалов может быть несколько, но выбор того или иного
идеала зависит от условий в которых принимается решение. Сами же эти условия принятия решение являются нечеткими.
Например, следует выбрать один из трех идеалов действий при организации ПВО корабля: «осуществить постановку
активных помех», «распределить ЗОС корабля на воздушные цели противника», «поставить ЛОЦ», если нечеткие условия
принятия решения сформулированы следующим образом: «Средствами РТР обнаружено несколько воздушных целей противника
на достаточно небольшом расстоянии от корабля».
Если бы условия принятия решения не были бы нечеткими, а были бы известны точно, то следовало бы принять следующие
решения в зависимости от условий:
· «осуществить постановку активных помех», если расстояние от корабля до воздушных целей противника более 100
км, а целей не более двух. Вероятнее всего это самолеты – разведчики противника;
· «распределить ЗОС корабля на воздушные цели противника», если расстояние от корабля до воздушных целей
противника менее 30 км, а целей не менее двух. Вероятнее всего это ракетный залп, произведенный самолетами или
кораблями противника;
· «поставить ЛОЦ», если расстояние от корабля до воздушных целей противника более 30 км, но менее 70 км, а целей
не менее двух. Вероятнее всего это штурмовики противника, которые собираются произвести ракетный залп.
Как мы видим, в зависимости от того, каково точное численное значение расстояния между кораблем и воздушными
целями противника и количество целей, зависит предпочтение того или иного варианта действий при организации ПВО корабля.
В данном случае задача принятия решения состоит в том, чтобы выяснить, какая из трех возможных ситуаций наиболее
вероятна. А затем следует выбрать вариант организации ПВО корабля.
Приведем пример такой ситуации. Имеется два персональных компьютера. Известны точно их быстродействия и объем
оперативной памяти. Какой из этих персональных компьютеров следует выбрать в качестве основы для АРМ перспективной БИУС,
если качественная формулировка принципа оптимальности звучит так: «Высокое быстродействие и большой объем памяти почти
наверняка соответствует лучшей альтернативе» и так: «Среднее быстродействие и очень большой объем оперативной памяти
часто считается лучшей альтернативой».
· в определении того, что предпочтительнее «почти наверняка соответствует» или «часто считается»;
Если неопределенность ситуации определена на расплывчатой шкале, то лицо, принимающее решение, имеет дело с
задачами принятия решений при нечеткой ситуации. Понятие нечеткости формализуется с помощью теории нечетких множеств.
Нечеткое множество образуется путем введения обобщенного понятия принадлежности элемента множеству.
Пусть E – универсальное множество, x – элемент E. Нечетким множеством А в Е называется множество упорядоченных пар A
= {μА(х) / х}, где μА(х) – характеристическая функция принадлежности (или просто функция принадлежности), принимающая
значения в некотором вполне упорядоченном множестве M (например, M = [0,1] – все значения от 0 до 1).
Если μА(х) = 0, то элемент х определенно не принадлежит множеству А. Если μА(х) = 1, то он определенно входит в данное
множество
Нечеткость – это свойство объектов и явлений, при котором не выполняется отношение эквивалентности: объект (явление)
может одновременно принадлежать некоторому классу и не принадлежать ему. Функция принадлежности указывает, с какой
степенью уверенности анализируемый объект принадлежит указанному классу. При этом он одновременно с различными
степенями уверенности может принадлежать к различным классам.
<α, X, A>,
G – синтаксическая процедура, позволяющая оперировать элементами терм-множества T, в частности генерировать новые термы
(значения), тогда G(T) – множество сгенерированных термов, называемое расширенным терм-множеством лингвистической
переменной;
М – семантическая процедура, позволяющая приписывать каждое новое значение лингвистической переменной, образуемое
процедурой G, нечеткой переменной, т. е. сформировать соответствующее нечеткое множество.
ПРИМЕР:
В частности, возможно получение новых значений лингвистической переменной "разрешающая способность графического
адаптера Персональной ЭВМ": " малая ИЛИ большая", "НЕ большая", "ОЧЕНЬ большая" и др.
3) Пусть эксперт определяет толщину выпускаемого изделия с помощью понятий «малая толщина», «средняя толщина»
и «большая толщина», при этом минимальная толщина равна 10 мм, а максимальная – 80 мм. Формализация такого
описания может быть проведена с помощью следующей лингвистической переменной:
< β, T, X, G, M>,
X – [10, 80];
G – процедура образования новых термов с помощью связок «и», «или» и модификаторов типа «очень», «не», «слегка» и
др. Например, «малая или средняя толщина», «очень малая толщина» и др.;
М – процедура задания на X = [10, 80] нечетких подмножеств A1= «малая толщина», A2 = «средняя толщина», A3 =
«большая толщина», а также нечетких множеств для термов из G(T) в соответствии с правилами трансляции нечетких
связок и модификаторов «и», «или», «не», «очень», «слегка» и другие операции над нечеткими множествами.
Для задания лингвистической переменной каждому ее значению ставятся в соответствие нечеткие множества. Так,
например, лингвистическая переменная "быстродействие процессора INTEL" описывается двумя значениями лингвистической
переменной: "процессор со средним быстродействием" и "процессор с высоким быстродействием", которым соответствуют
нечеткие множества А1и А2:
В приведенных примерах множество U является не числовым, а перечислимым (дискретным). Если множество состоит из
числовых значений базовой переменной, то лингвистическая переменная называется числовой лингвистической переменной.
Основные виды функций принадлежности альтернатив нечеткому множеству
Типизация функций принадлежности в контексте решаемой задачи существенно упрощает соответствующие аналитические и
численные расчеты при применении методов теории нечетких множеств.
· Простота модификации параметров (модальных значений) функции принадлежности на основе измеряемых значений
входных и выходных величин системы.
S-образные функции принадлежности используются для задания неопределенностей типа «большое количество»,
«большое значение», «значительная величина», «высокий уровень» и т. п.
В некоторых работах по теории нечетких множеств Z- и S-образные функции принадлежности называют сигмоидальными.
К типу П-образных функций принадлежности можно отнести целый класс кривых, которые по своей форме напоминают
колокол, сглаженную трапецию или букву П. В общем случае П-образные функции принадлежности могут быть получены как
композиция Z- и S-образных функций принадлежности
где а, b, с, d – некоторые числовые параметры, принимающие произвольные действительные значения и упорядоченные
отношением a < b < c < d, а знак * обозначает обычное арифметическое произведение значений соответствующих функций. Один
из вариантов П-образной функции принадлежности представлен на рисунке ниже. Очевидно, что ее вид будет зависеть от
значений параметров a, b, c, d.
П-образные функции используются для задания неопределенностей типа «приблизительно в пределах от и до», «примерно
равно», «около» и т. п.
· Использование П-образных функций принадлежности предполагает задание бόльшего, чем для кусочно-линейных
функций, числа параметров, что усложняет настройку нечеткой модели.
· Некоторые из П-образных функций, в частности гауссова функция, имеют неограниченный носитель, означая, что
любой элемент x области определения X будет принадлежать любому нечеткому множеству, задаваемому с помощью этой
функции, и это может не соответствовать представлениям эксперта о моделируемой системе. Вместе с тем степени
принадлежности элементов x, находящихся далеко от центра, например, гауссовой функции, пренебрежимо малы, вследствие
чего на практике можно считать, что имеется ограниченный носитель
Существует множество других функций принадлежности нечетких множеств, заданных как композиции вышеупомянутых
базовых функций (двойная гауссова, двойная сигмоидальная и т. п.) либо как комбинации по участкам возрастания и убывания
(сигмоидальногауссова, сплайн-треугольная и т. п.).
К настоящему времени накоплен достаточно широкий набор различных вариантов функций принадлежности для самых
разнообразных нечетких утверждений. Безусловно, выбор функции принадлежности и ее параметров определяется в бо́ льшей
степени опытом, интуицией и другими субъективными факторами лица, принимающего решения (ЛПР).
Так, например, пусть критерий j задает требование по обеспечению максимальной производительности ЭВМ и имеется 5
типов ЭВМ, которые имеют различную производительность.
Нечеткое множество А альтернатив с идеальным значением свойства (критерия) j определено следующим образом:
А = {0,6/х1; 0,8/х2; 0,5/х3; 0,9/х4; 1,0/х5}.
Оптимальным в этом случае является пятый вариант ЭВМ, для которого μ A (х5) = 1,0.
Выбор лучшей альтернативы в многокритериальной задаче с нечеткой
исходной информацией.
В том случае, когда имеется n критериев (j1, ..., jn), лучшим считается альтернативный вариант, удовлетворяющий сразу
всем критериям. Тогда правило выбора наилучшей альтернативы может быть записано в виде пересечения соответствующих
нечетких множеств
A=A 1 ∩ A 2 ∩... ∩ An .
Операции пересечения соответствует определение функции принадлежности альтернативы хj результирующему
нечеткому множеству А альтернатив с идеальным значением интегрального критерия j как минимума из всех n значений функций
принадлежности μ A ( x j) альтернативы x j нечеткому множеству Ai альтернатив с идеальным значением свойства (критерия) ji:
i
В качестве лучшей выбирается альтернатива хj, обеспечивающая наибольшее значение функции ее принадлежности μ A (хj)
результирующему нечеткому множеству А альтернатив с идеальным значением интегрального критерия j:
альтернатив исходным нечетким множествам Аi. Решение задачи выбора сводится к определению:
.
Сравнение альтернатив, свойства которых описываются числовыми
лингвистическими переменными ()
При описании как критериев, так и бинарных отношений применяется нечеткая логика с лингвистическими значениями
истинности, например при выражении предпочтений предложениями естественного языка типа “x несколько предпочтительнее
y”; “x значительно предпочтительнее y” и т.п.
Формализация качественной информации в задачах принятия решения осуществляется за счёт введения лингвистических
отношений предпочтения, лингвистических критериев ( критерий, оценки по шкалам которого суть значения одноимённой
лингвистической переменной, т.е. нечеткие подмножества некоторого базового множества) , лингвистических весов,
лингвистических полезностей и т.д.
Одной из областей применения теории нечетких множеств являются человекомашинные системы управления.
Осуществление диалога в таких системах немыслимо без использования языков, близких к естественному, способных описывать
нечеткие категории, приближенные к человеческим понятиям и представлениям. В этой связи целесообразно использовать
понятие лингвистической переменной.
В том случае, когда каждая из анализируемых альтернатив задается значениями некоторой лингвистической переменной,
то для сравнения альтернатив необходимо произвести сравнение этих значений. В случае если используется числовая
лингвистическая переменная, то необходимо произвести сравнение двух нечетких чисел, например, числа N (небольшое) и числа
М (малое).
Рассмотрим случай, когда заданы функции принадлежности альтернатив двум нечетким множествам с двумя разными
нечеткими идеальными значениями критерия j. Эти нечеткие идеальные значения критерия j оценивается нечеткими числами N и
М соответственно.
На рисунке 5.4.2 приведен пример задания таких функций принадлежности, в котором базовая переменная R 1 описывает
значения емкости оперативной памяти ЭВМ. Эта переменная характеризует числовую лингвистическую переменную "емкость
оперативной памяти", принимающую значения "малая величина", "небольшая величина".
Значение числовой лингвистической переменной "малая величина" описывается нечетким числом (нечетким множеством
чисел) М, принимающим разные значения х в интервале [a;b]. μ M (a)=0 , μ M (b)=0.Если a> x >b , то 0< μ M (x )≤ 1.
Значение числовой лингвистической переменной "небольшая величина" описывается нечетким числом (нечетким
множеством чисел) N, принимающим разные значения у в интервале [g;d]. μ N ( g)=0 , μ N (d )=0 . Если g> y >d , то 0< μ N ( y)≤1.
Возможность того, что нечеткое число М больше или равно нечеткому числу N:
,
где sup определяет верхнюю грань возможности того, что значение х нечеткого числа М больше, чем значение у нечеткого
числа N: х> у.
Найдем .
Возьмем различные пары значения х нечеткого числа М и значения у нечеткого числа N, таких что у≥ х:
х=2; у=3;min{ μ M (2), μ N (3)}=0;
х=6; у=6;min{ μ M (6), μ N (6)}=0,3;
х=4; у=6;min{ μ M (4), μ N (6)}=0,3;
х=4; у=8;min{ μ M (4), μ N (8)}=1,0;
х=4; у=11;min{ μ M (4), μ N (11)}=0.
Тогда возможность того, что нечеткое число N больше или равно нечеткому числу M:
V(N≥M) = {0; 0,3; 0,3; 1,0; 0}= 1,0.
Следовательно, отношение М≥N определяется бинарным нечетким множеством (т. е. множеством из двух элементов):
А1={0,3/да; 1,0/нет}, а отношение N≥M определяется бинарным нечетким множеством: А2={1,0/да; 0,3/нет}.
Пример линейного упорядочивания альтернатив, свойства которых и
коэффициенты важности этих свойств заданы нечетко
Многокритериальная оценка и выбор альтернатив на основе нечетких множеств также базируется на формы
интегрального критерия. Приведем решение задачи многокритериальной оценки для самой простой формы критерия при
допущении о возможности треугольного представления функций принадлежности.
Пусть необходимо выполнить упорядочивание альтернатив, задаваемых вектором критериев, сворачиваемых в линейную
форму.
Оценку j-й альтернативы по i-му критерию обозначим φ ij. Тогда линейная форма интегрального критерия, оценивающая j-ю
n
альтернативу, будет иметь вид φ j=∑ k i∗φij .
i=1
Рассмотрим пример, в котором значения оценок альтернатив по критериям φ ij и коэффициенты важности ki этих критериев
задаются функциями принадлежности треугольной формы, т. е. ki и φ ij являются нечеткими числами, над которыми выполняются
действия сложения и умножения. Результат этих операций представляет собой также нечеткое число (нечеткое множество чисел)
А с функцией принадлежности альтернатив этому нечеткому множеству треугольной формы:
,
где *- знак, задающий операцию (сложения или умножения), z – это либо сумма двух нечетких чисел x и y, либо их
произведение.
Так как функции принадлежности имеют вид треугольной формы, то они однозначно определяются тремя точками: левой
границей, правой границей и точкой максимума μ A . Поэтому для нахождения μ A (z) достаточно выполнить три операции * с
данными тремя точками
zL= хL*уL, zR= хR*уR, z.= х.*у.,
где индексы «L», «R», «.»указывают на эти три точки. В точках с индексами «L» и «R» значение функции принадлежности
равно нулю, а в точке с индексом «.»значение функции принадлежности равно единице.
Пусть, например, нужно выбрать одну из двух альтернативных структур ЦВК, оцениваемых вектором j, который состоит из
трех частных критериев:
Производительности – j1, надежности – j2, стоимости – j3.
Первый и второй частный критерии определены как важные, а третий – как очень важный.На рисунке 5.4.4 приведены
функции принадлежности нормированных значений коэффициентов важности k i нечетким множествам, описывающим значения
лингвистической переменной «важность критерия»: «не очень важный», «довольно важный», «важный», «очень важный».
где μ A ∩ A ¿)= min{ μ A (х1), μ A (х2)}, в свою очередь μ A (х2) = μ B ∪ B (х2) = max{ μ B (х2), μ B (х2)}.
1 2 1 2 2 1 2 1 2
μ A ∩ A ( z) – функция принадлежности ситуации ПВО нечеткому множеству ситуаций, требующих управления средствами
1 2
μ A (х2) – функция принадлежности данных о воздушной цели нечеткому множеству «неполны или противоречивы»;
2
Главным недостатком аддитивного показателя является то, что при его применении может происходить взаимная
компенсация частных показателей. Это значит, что уменьшение одного из показателей вплоть до нулевого значения может быть
компенсировано возрастанием другого показателя. Для ослабления этого недостатка вводятся специальные ограничения на
минимальные значения частных показателей, на их веса и другие приемы.
Мультипликативный показатель качества образуется путем перемножения частных показателей с учетом их весовых
коэффициентов и имеет вид
m
Q=∏ q wj , j
j =1
∙Наиболее существенное отличие мультипликативного показателя от аддитивного заключается в том, что аддитивный
показатель базируется на принципе справедливой абсолютной уступки по отдельным показателям, а мультипликативный - на
принципе справедливой относительной уступки. Суть последнего заключается в том, что справедливым считается такой
компромисс, когда суммарный уровень относительного снижения одного или нескольких показателей не превышает суммарного
уровня относительного увеличения остальных показателей.
Максиминный показатель. В ряде случаев вид результирующей целевой функции достаточно трудно обосновать или
применить. В подобных случаях возможным простым путем решения задачи является применение максиминного показателя.
Правило выбора оптимальной системы S0 в этом случае имеет следующий вид