КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Проектирование систем 3 страница2. Выбор языка (аппарата) моделирования. На сегодняшний день не существует общепризнанной классификации методов математического моделирования. Например, в [172] было предложено выделить[51] оптимизационные[52] и теоретико-игровые[53] модели. Существуют несколько десятков «аппаратов» моделирования(см. сноски на настоящей странице и библиографические ссылки в них), каждый из которых представляет собой разветвленный раздел прикладной математики. Описывать всех их подробно в рамках настоящей книги не представляется возможным (да и целесообразным). В качестве примера проиллюстрируем, какого рода модели позволяет строить теория графов. Теория графов– раздел дискретной математики. Неформальное определение графа таково: графом называется совокупность вершин (изображаемых кружками) и связей между ними, изображаемых ориентированными дугами (со стрелками) или неориентированными ребрами (без стрелок) – см. Рис. 18.
Рис. 18. Пример графа
Язык графов оказывается удобным для моделирования многих физических, технических, экономических, биологических, социальных и других систем. Приведем ряд примеров приложений теории графов (более подробное описание перечисляемых и других задач можно найти в [26, 29]). а) «Транспортные» задачи, в которых вершинами графа являются пункты погрузки/разгрузки, а ребрами – дороги (автомобильные, железные и др.) и/или другие транспортные (например, авиационные) маршруты. Другой пример – сети снабжения (энергоснабжения, газоснабжения, снабжения товарами и т.д.), в которых вершинами являются пункты производства и потребления, а ребрами или дугами – возможные маршруты перемещения (линии электропередач, газопроводы, дороги и т.д.). Соответствующий класс задач оптимизации потоков грузов, размещения пунктов производства и потребления и т.д., иногда называется задачами обеспечения или задачами о размещении. Их подклассом являются задачи о грузоперевозках. б) «Технологические задачи», в которых вершины отражают производственные элементы (заводы, цеха, станки и т.д.), а дуги – потоки сырья, материалов и продукции между ними, заключаются в определении оптимальной загрузки производственных элементов и обеспечивающих эту загрузку потоков. в) Обменные схемы, являющиеся моделями таких явлений как бартер, взаимозачеты и т.д. Вершины графа при этом описывают участников обменной схемы (цепочки), а дуги – потоки материальных и финансовых ресурсов между ними. Задача заключается в определении цепочки обменов, оптимальной с точки зрения, например, организатора обмена и согласованной с интересами участников цепочки и существующими ограничениями. г) Управление проектами(см. также раздел 3.4). С точки зрения теории графов проект– совокупность операций и зависимостей между ними (сетевой график). Хрестоматийным примером является проект строительства некоторого объекта. Совокупность моделей и методов, использующих язык и результаты теории графов и ориентированных на решение задач управления проектами, получила название календарно-сетевого планирования и управления (КСПУ). В рамках КСПУ решаются задачи определения последовательности выполнения операций и распределения ресурсов между ними, оптимальных с точки зрения тех или иных критериев (времени выполнения проекта, затрат, риска и др.). д) Модели коллективов и групп, используемые в социологии, основываются на представлении людей или их групп в виде вершин, а отношений между ними (например, отношений знакомства, доверия, симпатии и т.д.) – в виде ребер или дуг. В рамках подобного описания решаются задачи исследования структуры социальных групп, их сравнения, определения агрегированных показателей, отражающих степень напряженности, согласованности взаимодействия, и др. 3. Выбор переменных, описывающих состояние системы и существенные параметры внешней среды, а также шкал их измерения и критериев оценки (см. также Рис. 15). 4. Выбор ограничений, то есть множеств возможных значений переменных, и начальных условий (начальных значений переменных). 5. Определение связей между переменными с учетом всей имеющейся о моделируемой системе информации, а также известных законов, закономерностей и т.п., описывающих данную систему. Именно этот этап иногда называют «построение модели» (в узком смысле). 6. Исследование модели – или имитационное, или/и применение методов оптимизации и, быть может, решение задачи управления (см. описание каждого из этих трех блоков ниже). Именно этот этап иногда называют «моделированием» (в узком смысле). 7. Изучение устойчивости и адекватности модели (см. ниже). Последующие этапы, связанные с практической реализацией модели и/или внедрением результатов моделирования, мы здесь не рассматриваем. Приведенные этапы математического моделирования иногда приходится повторять, возвращаясь к более ранним этапам при уточнении цели моделирования, обеспечении точности, устойчивости, адекватности и т.д. Рассмотрим два примера, иллюстрирующих приведенные выше семь этапов построения математической модели. В качестве первого примера возьмем задачу проектирования устройства полива клумбы заданного радиуса. Движение струи воды адекватно описывается известной из школьного учебника по физике моделью движения тела, брошенного под углом к горизонту. 1. Предметом моделирования является движение тела, брошенного под углом к горизонту (струи воды). Целью является описание этого движения. При этом мы абстрагируемся от размеров и других свойств этого тела (диаметра струи), пренебрегаем сопротивлением воздуха. 2. В качестве «аппарата» моделирования используются дифференциальные уравнения (в школьном курсе физики – известные их решения). 3. В качестве переменных, описывающих состояние системы, используются координаты тела по горизонтали – x(t) и по вертикали – y(t), измеренные, например, в системе отсчета, связанной с поверхностью Земли. 4. Считается, что известны начальные координаты устройства полива – (x0, y0) и вектор начальной скорости струи воды ( , ). 5. Известно, что на любое тело, находящееся в поле тяготения Земли, действует сила тяжести, сообщающее свободно движущемуся телу ускорение свободного падения g, направленное к центру Земли. Записав второй закон Ньютона, получаем уравнения движения: x(t) = x0 + t, y(t) = y0 + t – g t 2 / 2. 6. Исследование модели заключается в нахождении дальности полива L, то есть расстояния по горизонтали, которое пролетит тело (струя воды). Пусть для простоты устройство полива расположено на поверхности Земли (y0 = 0), тогда, приравняв y(t) нулю, находим время движения струи: T = 2 / g. Подставляя это время в выражение для x(t), получим выражение для дальности полива: L = x(T) – x0 = 2 / g. 7. Данная модель устойчива (например, дальность полива непрерывно зависит от вертикальной и горизонтальной составляющих начальной скорости струи, и малые ошибки в их определении приведут к малым ошибкам в вычислении дальности). В качестве второго примера рассмотрим так называемую дуополию Курно, описывающую конкуренцию двух экономических агентов. 1. Предметом моделирования является взаимодействие двух агентов – производителей одного и того же товара, – каждый из которых выбирает свой объем производства (предложение товара), стремясь максимизировать свою прибыль в условиях, когда рыночная цена убывает с ростом суммарного предложения. Целью моделирования является предсказание рыночного равновесия – объемов производства и цены. 2. В качестве «аппарата» моделирования используется теория некооперативных игр [55]. 3. В качестве переменных, описывающих состояние системы, выберем неотрицательные объемы производства x1 и x2 соответственно первого и второго агентов и рыночную цену p. 4. Считается, что известны: - зависимость цены: p = 5 – (x1 + x2) от суммарного предложения x1 + x2 – чем больше предложение, тем ниже цена; - затраты 3 (x1)2 и 5 (x2)2 / 4 соответственно первого и второго агентов – чем больше объем выпуска, тем выше затраты; 5. Прибыль каждого агента представляет собой разность между его выручкой (равной произведению цены на его объем производства) и затратами, то есть целевые функции первого и второго агентов равны соответственно [5 – (x1 + x2)] x1 – 3 (x1)2 и [5 – (x1 + x2)] x2 – 5 (x2)2 / 4. 6. Исследование модели заключается в нахождении объемов производства и , максимизирующих прибыли агентов (точнее – в нахождении так называемого равновесия Нэша (то есть, таких объемов производства, одностороннее отклонение от которых не выгодно ни одному из агентов) их игры [55]): = 0,5, = 1 и вычислении соответствующей рыночной цены, равной 3,5. 7. Данная модель устойчива (например, малые ошибки в измерении коэффициентов затрат агентов приведут к малым ошибкам в вычислении равновесной цены). Завершив рассмотрение примеров, отметим, что математическое моделирование можно разделить на аналитическое и имитационное [172, 226]. Для аналитического моделированияхарактерно то, что процессы функционирования элементов системы записываются в виде некоторых функциональных соотношений (например, уравнений – алгебраических, дифференциальных, интегральных и т.п.) или логических условий. Аналитическая модель может быть исследована следующими методами: - аналитическим, когда стремятся получить в общем (аналитическом) виде явные зависимости для искомых характеристик в виде определенных формул. Оба рассмотренных выше примера построения математической модели были исследованы аналитически; - численным, когда, не имея возможности решать уравнения в общем виде, стремятся получить числовые результаты при тех или иных конкретных начальных данных (например, с помощью компьютера); - качественным, когда, не имея решения в явном виде, можно найти некоторые его свойства. Примером могут служить так называемые «мягкие» модели [8], в которых анализ вида дифференциальных уравнений, описывающих самые разнообразные процессы (экономические, экологические, политические и др.) позволяет делать качественные выводы о свойствах их решений – существовании и типе равновесных точек, областях возможных значений переменных и т.п. Для имитационного моделированияхарактерно исследование отдельных траекторий динамики моделируемой системы. При этом фиксируются некоторые начальные условия (начальное состояние системы или параметры модели) и рассчитывается одна траектория. Затем выбираются другие начальные условия, и рассчитывается другая траектория и т.д. То есть, аналитической зависимости между параметрами модели и будущими состояниями системы не ищется. Как правило, при имитационном моделировании используют численные методы, реализованные на компьютере. Плюс имитационного моделирования заключается в том, что оно позволяет проанализировать различные сценариииногда даже для очень сложных моделей. Его недостаток[54] состоит в отсутствии возможности получения, например, ответа на вопрос, в каких случаях (при каких значениях начальных условий и параметров модели) динамика системы будет удовлетворять заданным требованиям. Кроме того, обычно затруднителен анализ устойчивости имитационных моделей. Итак, мы кратко рассмотрели вопрос о построении моделей, в том числе – математических (обсуждение устойчивости и адекватности моделей, а также связанных с моделями проблем оптимизации и задач управления, производится ниже). Тех читателей, которые заинтересуются современными способами формализованного представления моделей, мы отсылаем к достаточно полным их описаниям, выполненным для ряда предметных областей в [26, 29, 39, 44, 55, 59, 126, 150, 172, 176, 182, 192, 198, 217]. Отметим, что, несмотря на то, что на сегодняшний день накоплен значительный опыт разработки и использования самых разных методов моделирования (в том числе – математического), все равно в этом процессе решающую роль играет творчество, интуитивное искусство создания модели. Следующий этап стадии моделирования – оптимизация. Этап оптимизации. Оптимизациязаключается в том, чтобы среди множества возможных вариантов (моделей проектируемой системы) найти наилучшие в заданных условиях, при заданных ограничениях, то есть оптимальные альтернативы. В этой фразе важное значение имеет каждое слово. Говоря «наилучшие», мы предполагаем, что у нас имеется критерий(или ряд критериев), способ (способы) сравнения вариантов. При этом важно учесть имеющиеся условия, ограничения, так как их изменение может привести к тому, что при одном и том же критерии (критериях) наилучшими окажутся другие варианты. Понятие оптимальностиполучило строгое и точное представление в различных математических теориях, прочно вошло в практику проектирования и эксплуатации технических систем, сыграло важную роль в формировании современных системных представлений, широко используется в административной и общественной практике, стало понятием, известным практически каждому человеку. Это и понятно: стремление к повышению эффективности труда, любой целенаправленной деятельности как бы нашло свое выражение, свою ясную и понятную форму в идее оптимизации. В математическом смысле суть оптимизации, вкратце, заключается в следующем. Пусть состояние моделируемой системы определяется совокупностью показателей: x = (x1, x2, x3, ..., xn), принимающих числовые значения. На множество возможных состоянийсистемы наложено ограничение: x Î X, где множество X определяется существующими физическими, технологическими, логическими, ресурсными и другими ограничениями. Далее вводится функция F(x), зависящая от x1, x2, x3, ..., xn, которая называется критерием эффективностии принимает числовое значение. Считается, что чем бóльшие значения принимает функция F(x), тем выше эффективность, то есть, тем «лучше» состояние x системы. Задача оптимизации заключается в нахождении оптимального значения x*, то есть допустимого состояния системы (x Î X), имеющего максимальную эффективность: для всех x из множества X выполняется F(x*) ³ F(x). Приведем пример простейшей задачи оптимизации. Пусть имеется R единиц ресурса, и n инвестиционных проектов. Каждый проект характеризуется отдачей ai> 0 на единицу вложенных средств. Величина xi ³ 0 описывает, какое количество ресурса инвестируется в i-ый проект. Множеством X в данном примере будет множество таких векторов инвестиций, сумма компонентов которых не превосходит бюджетного ограничения: x1 + x2 + x3 + ... + xn £ R, то есть, допустимы любые комбинации инвестиций, удовлетворяющих ограничению на первоначальное количество ресурса. Критерием эффективности естественно считать суммарную отдачу от инвестиций: F(x) = a1 x1 + a2 x2 +... + an xn. Оптимальным в данном примере будет вложение всех средств в тот инвестиционный проект, который характеризуется максимальной отдачей на единицу вложенных средств (с максимальным значением ai). Такой вывод вполне соответствует здравому смыслу, и для его получения вряд ли стоило формулировать математическую задачу оптимизации. Однако, если усложнить модель (например, учесть риск или тот факт, что проекты могут требовать фиксированных инвестиций и давать фиксированную отдачу, и т.п.), то задача станет не столь тривиальной и без оптимизационных моделей нельзя будет обойтись (см. примеры в [26, 29]). Например, пусть имеются 100 единиц ресурса и два проекта. У первого проекта отдача на единицу вложенных средств равна 1,8, у второго – 1,4. Вероятность успешного завершения первого проекта равна 0,85, второго – 0,95. Требуется распределить инвестиции между проектами так, чтобы ожидаемый доход был максимален: 1,8×0,85×x1 + 1,4×0,95×x2 ® max, при условии, что расходуется количество ресурса, не большее имеющегося: x1 + x2 £ 100, и ожидаемые потери не должны превышать 9 % от имеющегося ресурса: (1 – 0,85)×x1+ (1 – 0,95)×x2 £ 9. Данная оптимизационная задача (являющаяся задачей линейного программирования [201]) имеет следующее решение: = 40, = 60. Значение критерия эффективности при этом равно 141. Отметим, что при постановке и решении оптимизационных задач существенное значение имеет выбор критерия эффективности и ограничений. Так, если в рассмотренном выше примере в ограничении на ожидаемые потери заменить 9 % на 11 %, то оптимальным будет совсем другое решение: = 60, = 40. Другим (равным 145) станет и значение критерия эффективности. Мы привели простейший пример задачи оптимизации. Читателей, заинтересованных в более подробном изучении теории оптимизации, отсылаем к [26, 27, 29, 44, 55, 150, 172, 192, 201, 217] и спискам литературы в этих источниках. Различие между строго научным, математизированным и «общепринятым», житейским пониманием оптимальности, в общем-то, невелико [192]. Правда, нередко встречающиеся выражения вроде «более оптимальный», строго говоря, некорректны (нельзя достичь эффективности, больше максимальной). Но люди, использующие эти выражения, на самом деле просто нестрого и неудачно выражают правильную мысль: как только дело касается конкретной оптимизации, они достаточно легко исправляют формулировки. Если не вдаваться в подробности оптимизации в рамках математических моделей, то интуитивно оптимизация сводится, в основном, к сокращению числа альтернатив и проверке модели на устойчивость. Если специально стремиться к тому, чтобы на начальной стадии было получено как можно больше альтернатив, то для некоторых проблем их количество может достичь большого числа возможных решений. Очевидно, что подробное изучение каждой из них приведет к неприемлемым затратам времени и средств. На этапе неформализованной оптимизации рекомендуется проводить «грубое отсеивание» альтернатив, проверяя их на присутствие некоторых качеств, желательных для любой приемлемой альтернативы. К признакам «хороших» альтернатив относятся надежность, многоцелевая пригодность, адаптивность, другие признаки «практичности». В отсеве могут помочь также обнаружение отрицательных побочных эффектов, недостижение контрольных уровней по некоторым важным показателям (например, слишком высокая стоимость) и пр. Предварительный отсев не рекомендуется проводить слишком жестко; для детального анализа и дальнейшего выбора необходимы хотя бы несколько альтернативных вариантов. Важным требованием, предъявляемым к моделям, является требование их устойчивостипри возможных изменениях внешних и внутренних условий, а также устойчивости по отношению к тем или иным возможным изменениям параметров самой модели проектируемой системы. Проблемам устойчивости математических моделей систем посвящена довольно обширная литература (см., например, [150, 182, 192 и др.]). Для того чтобы понять роль устойчивости, вернемся (см. также выше) к рассмотрению процесса построения математической модели некоторой реальной системы и проанализируем возможные «ошибки моделирования» [170]. Первым шагом является выбор того «языка», на котором формулируется модель, то есть того математического аппарата, который будет использоваться (горизонтальная пунктирная линия на Рис. 19 является условной границей между реальностью и моделями). Как правило, этот этап характеризуется высоким уровнем абстрагирования – выбираемый класс моделей намного шире, чем моделируемый объект. Возможной ошибкой, которую можно совершить на этом шаге, является выбор неадекватного языка описания. Следующим этапом по уровню детализации является построение множества частных моделей, при переходе к которым вводятся те или иные предположения относительно свойств параметров модели. Возникающие здесь ошибки описания структуры модели могут быть вызваны неправильными представлениями о свойствах элементов моделируемой системы и их взаимодействии. После задания структуры модели посредством выбора определенных значений параметров (в том числе – числовых) происходит переход к некоторой конкретной модели, которая считается аналогом моделируемого объекта. Источник возникающих на этом этапе «ошибок измерения» очевиден, хотя он и имеет достаточно сложную природу и заслуживает отдельного обсуждения.
Рис. 19. Этапы построения и исследования
Когда для конкретной модели решается задача выбора оптимальных решений, то, если существует аналитическое решение для множества частных моделей, тогда, как правило, частные значения параметров, соответствующие конкретной модели, подставляются в это решение. Если аналитического решения не существует, то оптимальное решение ищется посредством имитационных экспериментов с привлечением вычислительной техники. На этом этапе – при численных расчетах – возникают вычислительные ошибки. Изучение устойчивостирешений в большинстве случаев сводится к исследованию зависимости оптимального решения от параметров модели. Если эта зависимость является непрерывной, то малые ошибки в исходных данных приведут к небольшим изменениям оптимального решения. Тогда, решая задачу выбора по приближенным данным, можно обоснованно говорить о нахождении приближенного решения. Обсудим теперь, что следует понимать под адекватностью модели. Для этого вернемся к Рис. 19. Оптимальное решение, полученное для конкретной модели, является оптимальным в том смысле, что при его использовании поведение модели соответствует предъявляемым требованиям. Рассмотрим, насколько обоснованным является использование этого решения в реальной системе – моделируемом объекте. Наблюдаемое поведение модели является с точки зрения субъекта, осуществляющего моделирование (например, полагающего, что модель адекватна), предполагаемым поведением реальной системы, которое в отсутствии «ошибок моделирования» будет оптимально в смысле выбранного критерия эффективности. Понятно, что в общем случае наблюдаемое поведение реальной системы и ее предполагаемое поведение могут различаться достаточно сильно. Следовательно, необходимо исследование адекватности модели, то есть – устойчивости поведения не модели, а реальной системы относительно ошибок моделирования (см. Рис. 19). Действительно, представим себе следующую ситуацию. Пусть построена модель и найдено оптимальное в ее рамках решение. А что будет, если параметры модели «немного» отличаются от параметров реальной системы? Получается, что задача выбора решалась не для «той» системы. Отрицать такую возможность, естественно, нельзя. Поэтому необходимо получить ответы на следующие вопросы: - насколько оптимальное решение чувствительно к ошибкам описания модели, то есть, будут ли малые «возмущения» модели приводить к столь же малым изменениям оптимального решения (задача анализа устойчивости); - будут ли решения, обладающие определенными свойствами в рамках модели (например, оптимальность, эффективность не ниже заданной и т.д.), обладать этими же свойствами и в реальной системе, и насколько широк класс реальных систем, в которых данное решение еще обладает этими свойствами (задача анализа адекватности). Качественно, основная идея, используемая на сегодняшний день в математическом моделировании, заключается в следующем [151, 170]. Применение оптимальных решений приводит к тому, что они, как правило, оказываются неоптимальными при малых вариациях параметров модели. Возможным путем преодоления этого недостатка является расширение множества «оптимальных» решений за счет включения в него так называемых приближенных решений(то есть, «немного худших», чем оптимальные). Оказывается, что ослабление определения «оптимальность» позволяет, установив взаимосвязь между возможной неточностью описания модели и величиной потерь в эффективности решения, гарантировать некоторый уровень эффективности множества решений в заданном классе реальных систем, то есть расширить область применимости решений за счет использования менее эффективных из них. Иными словами, вместо рассмотрения фиксированной модели реальной системы, необходимо исследовать семейство моделей. Приведенные качественные рассуждения свидетельствуют, что существует определенный дуализм между эффективностью решения и областью его применимости (областью его устойчивости и/или областью адекватности). В практике же проектирования систем, так же как и во многих других областях профессиональной деятельности, не поддающихся пока «математизации», для оптимизации используются такие методы, как анализ, «проигрывание» возможных ситуаций, «мысленный эксперимент» (что произойдет, если изменяются такие-то условия? такие-то условия? и т.д.). Отобранные и проверенные на устойчивость и адекватность модели становятся основой для последнего, решающего этапа стадии моделирования – выбора модели для дальнейшей реализации. Этап выбора модели (принятия решения). Выбор одной – единственной – модели для дальнейшей реализации является последним и, пожалуй, наиболее ответственным этапом стадии моделирования, его завершением. Выборявляется действием, придающим всей деятельности целенаправленность. Именно выбор реализует подчиненность всей деятельности определенной цели. Рано или поздно наступает момент, когда дальнейшие действия могут быть различными, приводящими к разным результатам, а реализовать можно только одно. Причем вернуться к исходной ситуации, как правило, уже невозможно. Способность сделать правильный выбор в таких условиях – ценное качество, которое присуще разным людям в разной степени. Великие полководцы, политики, ученые и инженеры, талантливые администраторы отличались и отличаются от своих коллег-конкурентов, в первую очередь, умением делать лучший выбор, принимать правильное решение. В системном анализевыбор(принятие решения) [192 и др.] определяется как действие над множеством альтернатив, в результате которого получается подмножество выбранных альтернатив (обычно это один вариант, одна альтернатива, но не обязательно). При этом выбор тесно связан с оптимизацией, так как последняя есть ни что иное, как выбор оптимальной альтернативы. Каждая ситуация выбора может развертываться в разных вариантах: – оценка альтернатив для выбора может осуществляться по одному или нескольким критериям, которые, в свою очередь, могут иметь как количественный, так и качественный характер; – режим выбора может быть однократным (разовым) или повторяющимся, допускающим обучение на опыте; – последствия выбора могут быть точно известны (выбор в условиях определенности), иметь вероятностный характер (выбор в условиях риска), или иметь неопределенный исход (выбор в условиях неопределенности); – ответственность за выбор может быть односторонней (в частном случае индивидуальной – например, ответственность директора организации, учреждения) или многосторонней (например, когда за решение несут, а чаще всего не несут никакой ответственности разрозненные ведомства – от муниципального до федерального уровня – типичный случай нашей традиционной российской «коллективной безответственности»). Соответственно различают индивидуальный или групповой, многосторонний выбор;
|