Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Системный анализ.doc
Скачиваний:
12
Добавлен:
18.09.2019
Размер:
1.24 Mб
Скачать

Лекция 12. Моделирование систем в условиях определенности

Модель системы в самом общем виде можно представить в виде зависимости

E = f(X, Y),

где E – некоторый количественный показатель эффективности системы в плане достижения цели ее существования T, будем называть его критерий эффективности; X – управляемые переменные системы – те, на которые мы можем воздействовать, или управляющие воздействия; Y – неуправляемые, внешние по отношению к системе воздействия; их иногда называют состояниями природы.

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

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

Пример. Пусть некоторая фирма должна производить и поставлять продукцию клиентам равномерными партиями в количестве N = 24 000 ед. в год. Срыв поставок недопустим, так как штраф за это можно считать бесконечно большим. Запускать в производство приходится сразу всю партию, таковы условия технологии. Стоимость хранения единицы продукции Cx = 0,1 р./мес., а стоимость запуска одной партии в производство (независимо от ее объема) составляет Cp = 400 р.

Таким образом, запускать в год много партий явно невыгодно, но невыгодно и выпустить всего 2 партии в год – слишком велики затраты на хранение.

Где же золотая середина, сколько партий в год лучше всего выпускать?

Построим модель такой системы. Обозначим через n размер партии и найдем количество партий, производимых за год: p = N / n = 24 000 / n.

Получается, что интервал времени между партиями составляет t = 12 / p (мес.), а средний запас изделий на складе – n/2 ед.

Сколько же будет стоить выпуск партии в n ед. за один раз?

Сосчитать нетрудно – 0,1·12·n/2 р. на складские расходы в год и 400p р. за запуск партий по n ед. изделий в каждой.

В общем виде годовые затраты составляют

E = СхT·n / 2 + Ср·N / n,

где T = 12 – полное время наблюдения, мес.

Перед нами типичная вариационная задача: найти такое n0, при котором сумма E достигает минимума. Решение этой задачи найти совсем просто – надо взять производную по n и приравнять эту производную к нулю. Это дает

n0 = ,

что для нашего примера составляет 4 000 ед. в одной партии и соответствует интервалу выпуска партий в 2 мес.

Затраты при этом минимальны и о пределяются как

E = СхT·n / 2 + Ср·N / n = 0,1·12·4000/2+400·24000/4000 = 4 800 р.

Сопоставим эту сумму с затратами при выпуске 2 000 изделий в партии, что соответствует выпуску партии один раз в месяц (р = 24000/2000 = 12, t = 12 /12=1):

E1 = 0,1·12·2000/2 + 400·24000/ 2000 = 6 000 р. в год.

Потери составят 6000 4800 = 1 200.

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

E = a1x1 + a2x2 + ... anxn,

где xi – искомые переменные, an – соответствующие искомым переменным коэффициенты, или веса переменных, при этом имеют место ограничения в виде системы неравенств или уравнений, как на переменные, так и на их веса.

Задачи такого класса достаточно хорошо исследованы в специальном разделе прикладной математики – линейном программировании. Были разработаны алгоритмы поиска экстремумов таких функций E = f(a, X), которые так и назвали – целевыми. Эти алгоритмы или приемы используются и сейчас – служат основой для разработки прикладных компьютерных программ системного анализа.

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

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

Задачи управления запасами. Первые задачи управления запасами были рассмотрены еще в 1915 г. – задолго не только до появления компьютеров, но и до употребления термина «кибернетика». Был обоснован метод решения простейшей задачи – минимизация затрат на заказ и хранение запасов при заданном спросе на данную продукцию и фиксированном уровне цен. Решение (размер оптимальной партии) обеспечивало наименьшие суммарные затраты за заданный период времени. Несколько позже были построены алгоритмы решения задачи управления запасами при более сложных условиях – изменении уровня цен (наличие скидок за качество и / или скидок за количество); необходимости учета линейных ограничений на складские мощности и т. п.

Задачи распределения ресурсов. В этих задачах объектом анализа выступают системы, в которых приходится выполнять несколько операций с продукцией (при наличии нескольких способов выполнения этих операций), причем, не хватает ресурсов или оборудования для выполнения всех этих операций.

Цель системного анализа – найти способ наиболее эффективного выполнения операций с учетом ограничений на ресурсы.

Транспортные задачи. Транспортные задачи обычно связаны с анализом сложной системы доставки товаров от разных источников по различным направлениям. Так, предприятие может иметь несколько складов, предназначенных для отправки товаров в различные точки страны или за пределы одной страны. В этом случае необходимо принять решение относительно оптимального способа передвижения этих товаров, с тем чтобы минимизировать затраты на перевозку и задействованные при этом ресурсы. Мы имеем ряд ограничений, скажем, потребности точек назначения и наличие возможностей, и хотим минимизировать затраты.

Задача о назначениях. Подобные задачи появляются, если есть система, состоящая из заданного количества работ, и есть определенное число исполнителей этих работ. В силу различной квалификации исполнителей время выполнения работ различно. Требуется так распределить исполнителей по работам, чтобы минимизировать общее время выполнения всех работ.

Задачи теории расписаний. Моделируемая система состоит из заданного числа работ (требований) и исполнителей (приборов). Все требования проходят обслуживание на приборах. Для каждого требования известен свой технологический маршрут обслуживания. В некоторых классах маршруты могут быть одинаковыми (одномаршрутная задача теории расписаний). Задана таблица времен обслуживания каждого требования каждым прибором. Необходимо определить оптимальное расписание обслуживания каждого требования каждым прибором, чтобы минимизировать общее время выполнения всех работ.

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

В самом общем виде задача линейного программирования формулируется следующим образом. Требуется обеспечить минимум выражения (целевой функции)

E(X) = c1x1 + c2x2 + ......+ cixi + ...+ cnxn

при том, что все xi положительны и на все xi налагаются m ограничений (m < n):

a11x1 + a12x2 + ......+ aijxj + ... a1nxn = b1

......................................................................

ai1x1 + ai2x2 + ......+ aijxj + ... ainxn = bi

.....................................................................

am1x1 + am2x2 + .....+ amjxj+ ... amnxn = bm .

Начала теоретического обоснования и разработки практических методов решения задач линейного программирования были положены Д. Данцигом (по другой версии Л.В. Канторовичем).

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

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