русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Задача о загрузке машины.


Дата добавления: 2015-06-12; просмотров: 1605; Нарушение авторских прав


Пусть имеется определенный набор предметов П1, П2,…, Пn (каждый в единственном экземпляре); известны их веса q1, q2,...qn и стоимости с1, с2, …сn. Грузоподъемность машины равна Q. Спрашивается, какие из предметов нужно взять в машину, чтобы их суммарная стоимость (при суммарном весе ≤Q) была максимальна?

Нетрудно заметить, что эта задача, в сущности, ничем не отличается от предыдущей, но несколько проще ее. Процесс загрузки машины можно представлять себе как состоящий из n шагов; на каждом шаге мы отвечаем на вопрос: брать данный предмет в машину или не брать? Управление на i-м шаге равно единице, если мы данный (i-й) предмет берем, и нулю – если не берем. Значит, на каждом шаге у нас всего два возможных управления.

Характеризовать состояние системы S перед очередным шагом можно весом s, который еще остался в нашем распоряжении до конца (до полной загрузки машины) после того, как предыдущие шаги выполнены (какие-то предметы уже погружены в машину).

Рассмотрим числовой пример. Есть шесть предметов, веса (в тоннах) и стоимости (в тыс. руб.) которых указаны в таблице.

 

Предмет Пi П1 П2 П3 П4 П5 П6
Вес qi
Стоимость сi

 

Суммарная грузоподъемность машины Q=35 тонн. Требуется указать номера предметов, которые нужно включить в груз, чтобы их суммарная стоимость была максимальна.

Способ решения аналогичен предыдущей задаче, но проще. Оптимальный выигрыш W*=57 тыс. руб. и оптимальные шаговые управления, при которых этот выигрыш достигается: х1=0, х2=1, х3=0, х4=1, х5=1, х6=0, то есть загрузить машину надо предметами 2, 4 и 5, суммарный вес которых равен в точности 35 тонн (вообще это не обязательно – при оптимальном выборе грузов может быть и некоторый общий «недогруз»).



 

4.4. Многокритериальные задачи.

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

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

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

Типичный пример – организация работы промышленного предприятия. С одной стороны нам хотелось бы обратить в максимум валовый объем продукции V. Желательно также было бы получить максимальный чистый доход D. Что касается себестоимости S, то ее хотелось бы обратить в минимум, а производительность труда П – в максимум. При обдумывании задачи может возникнуть еще ряд дополнительных критериев.

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

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

Спрашивается, можно ли найти решение, одновременно удовлетворяющее всем этим требованиям? Нет. Решение, обращающее в максимум какой-то один показатель, как правило, не обращает ни в максимум, ни в минимум другие. Поэтому часто применяемая формулировка: «достигнуть максимального эффекта при минимальных затратах» представляет собой не более чем фразу и при научном анализе должна быть отброшена.

Некоторые исследователи пытаются свести многокритериальную задачу к однокритериальной: составляют какую-то функцию от всех показателей Wi и рассматривают ее как один, «обобщенный» показатель, по которому и оптимизируется решение. Часто такой обобщенный показатель имеет вид дроби, в числителе которой стоят все величины, увеличении которых желательно, а в знаменателе – те, увеличение которых нежелательно. Например, продуктивность и доход – в числителе, время выполнения работы и расходы – в знаменателе и т.д.

Такой способ объединения нескольких показателей в один не может быть однозначно рекомендован, и вот почему: он основан на по крайней мере одном допущении, что недостаток в одном показателе всегда может быть скомпенсирован за счет другого; например, меньшая продуктивность – за счет более низкой стоимости и т.д. Часто это несправедливо.

Вспомним «критерий для оценки человека», предложенный когда-то Львом Толстым. Он имеет вид дроби, в числителе которой стоят действительные достоинства человека, а в знаменателе – его мнение о себе. С первого взгляда такой подход может оказаться логичным. Но представим себе человека, почти совсем не имеющего достоинств, но совсем не обладающего самомнением. По критерию Л.Н. Толстого такой человек должен иметь бесконечно большую ценность, с чем уж никак нельзя согласиться.

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

Нередко применяется и другой сходный способ составления «обобщенного показателя эффективности» - он представляет собой «взвешенную сумму» частных показателей, в которую каждый из них Wi входит с каким-то «весом» ai, отражающим его важность:

W=a1W1+a2W2+…

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

При произвольном назначении весов a1, a2…этот способ ничем не лучше предыдущего (разве что обобщенный критерий не обращается в бесконечность). Его сторонники ссылаются на то, что и человек, принимая компромиссное решение, тоже мысленно «взвешивает» все «за» и «против», приписывая больший вес более важным для него факторам. Это, может быть, и так, но, по-видимому, «весовые коэффициенты», с которыми входят в расчет разные показатели, не постоянны, а меняются в зависимости от ситуации.

Рассмотрим это на примере. Человек выходит из дому, чтобы ехать на работу, боится опоздать и размышляет: каким транспортом воспользоваться? Трамвай ходит часто, но идет долго; автобус – быстрее, но с большими интервалами. Можно, конечно взять такси, но это обойдется дорого. Есть еще такое решение: часть пути проехать на метро, а затем взять такси. Но на стоянке может и не быть машин, а добираясь до работы со станции метро пешком, он рискует опоздать больше, чем если бы ехал на автобусе. Как ему поступить?

Перед нами типичная задача исследования операций с двумя критериями (показателями). Первый – среднее ожидаемое время опоздания Т, которое хотелось бы сделать минимальным. Второй – ожидаемая стоимость проезда S; ее тоже желательно сделать минимальной. Но эти два требования, как мы поняли, несовместимы, поэтому человек должен принять компромиссное, приемлемое по обоим критериям, решение. Обобщенный показатель в данном случае будет выглядеть так:

W=a1T+a2S→min.

Но беда в том, что весовые коэффициенты а1, а2 нельзя считать постоянными. Они зависят как от самих величин Т и S, так и от обстановки. Например, если человек недавно уже получил выговор за опоздание, коэффициент при Т у него, вероятно, увеличится, а на другой день после получки, вероятно, уменьшится коэффициент при S. Если же назначать веса а1, а2 произвольно, то, по существу, столь же произвольным будет и вытекающее из них «оптимальное» решение.

Нельзя надеяться полностью избавиться от субъективности в задачах, связанных с выбором решений. Даже в простейших, однокритериальных задачах она неизбежно присутствует, проявляясь хотя бы в выборе показателя эффективности и математической модели явления. Тем более, неизбежна субъективность при выборе решения в многокритериальной задаче. Правда, бывают редкие случаи, когда достаточно ознакомиться со значениями всех показателей для каждого варианта, чтобы сразу стало ясно, какой из них выбрать. Представим себе, например, что какой-то вариант решения х имеет преимущество над другими по всем показателям; ясно, что именно его следует предпочесть. Но гораздо чаще встречаются случаи, когда с первого взгляда ситуация неясна: один из показателей тянет в одну сторону, другой – в другую.

Однако, не смотря на это, математический аппарат может помочь при решении многокритериальных задач. Прежде всего, он позволяет решать «прямые» задачи исследования операций, то есть для любого решения х находить значения показателей эффективности W1, W2,…, Wk. Для простоты предположим, что все эти величины желательно максимизировать. Пусть в составе множества возможных решений есть два решения х1 и х2 такие, что все критерии W1, W2…, Wk для первого решения больше или равны соответствующим критериям для второго решения, причем, хотя бы один из них действительно больше. Очевидно, тогда в составе множества решений Х нет смысла сохранять решение х2, оно вытесняется решением х1. Выбросим решение х2 как неконкурентоспособное и перейдем к сравнению других пар по всем критериям. В результате такой процедуры отбрасывания заведомо непригодных, невыгодных (по сравнению хотя бы с одним из остальных) решений множество осмысленных решений обычно сильно уменьшается: в нем сохраняются только так называемые эффективные (иначе «паретовские») решения, характерные тем, что ни для одного из них не существует доминирующего (безусловно лучшего) решения среди остальных в этом множестве.

Проиллюстрируем прием выделения паретовских решений на примере задачи с двумя критериями: W1 и W2 (оба требуется максимизировать). Множество Х состоит из конечного числа n возможных решений х1, х2,… x20. Каждому решению соответствуют определенные значения показателей W1, W2; будем изображать решение точкой на плоскости с координатами W1, W2 и занумеруем точки соответственно номеру решения (рисунок).

 

 

Очевидно, из всего исходного множества Х эффективными будут только решения х2, х5, х10, х11, лежащие на правой верхней границе области возможных решений (жирные точки, соединенные пунктиром). Для всякого другого решения существует хотя бы одно (из этих пяти) доминирующее, для которого оба: W1, и W2 больше, чем для данного решения. И только для решений, лежащих на правой верхней границе, доминирующих не существует.

Когда из множества возможных решений выделены эффективные, «переговоры» могут вестись в пределах этого «эффективного» множества. На рисунке его образуют четыре решения: х2, х5, х10 и х11. Ситуация резко упростилась: необходимо сравнить всего четыре варианта.

Что касается окончательного выбора, то он всегда остается прерогативой человека. Только человек, с его непревзойденным умением решать неформальные задачи, принимать так называемые «компромиссные решения» (не строго-оптимальные, но приемлемые по ряду критериев) может взять на себя ответственность за окончательный выбор.

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

Существует еще один, часто применяемый способ свести многокритериальную задачу к однокритериальной – это выделить один (главный) показатель W1 и стремиться его обратить в максимум, а на все остальные W2, W3,… наложить только некоторые ограничения, потребовав, чтобы они были не меньше каких-то заданных w2, w3,…Например, при оптимизации плана работы предприятия можно потребовать, чтобы прибыль была максимальна, план по ассортименту – выполнен или немного перевыполнен, а себестоимость продукции – не выше заданной. При таком подходе все показатели, кроме одного – главного, переводятся в разряд заданных условий α. Известный произвол в назначении границ w2, w3,…, разумеется, при этом остается; поправки в эти границы тоже могут быть введены в «диалоговом режиме».

Еще один путь построения компромиссного решения можно назвать «методом последовательных уступок». Предположим, что показатели W1, W2 удалось расположить в порядке убывающей важности. Сначала ищется решение, обращающее в максимум первый (важнейший) показатель W1=W1*. Затем назначается, исходя из практических соображений, возможно, с учетом малой точности, с которой нам известны входные данные, некоторая «уступка» ∆W1, которую мы согласны сделать для того, чтобы максимизировать второй показатель W2. Наложим на показатель W1 ограничение: потребуем, чтобы он был не меньше, чем W1* – ∆W1, и при этом ограничении ищем решение, обращающее в максимум W2. Далее снова назначим «уступку» в W2, ценой которой можно максимизировать W3 и т.д. Такой способ построения компромиссного решения хорош тем, что здесь сразу видно, ценой какой «уступки» в одном показателе приобретается выигрыш в другом и какова величина этого выигрыша.

 



<== предыдущая лекция | следующая лекция ==>
Задача о распределении ресурсов. | Проблема оптимизации в условиях неопределенности.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.007 сек.