- •Б. Б. Желваков
- •Моделирование систем
- •Учебное пособие
- •Санкт-Петербург
- •Составитель
- •Подготовлено на кафедре
- •230201 – Информационные системы и технологии
- •1. Основные понятия теории моделирования систем 6
- •2. Классификация моделей и методов моделирования 21
- •3. Математические методы моделирования 35
- •4. Имитационное моделирование. 62
- •5. Моделирование организационных систем 116
- •6. Методика и стандарты функционального моделирования 140
- •7. Объектно-ориентированное моделирование 166
- •8. Моделирование бизнес-процессов 221
- •9. Моделирование систем с soa-архитектурой 226
- •10. Модели систем с «облачной» архитектурой 237
- •Введение
- •1. Основные понятия теории моделирования систем
- •1.1. Системный подход и понятие «система»
- •1.2. Системный анализ
- •1.3. Понятия «модель» и «моделирование»
- •1.4. Моделирование систем как процесс формирования знаний.
- •1.5. Моделирование больших и сложных систем.
- •2. Классификация моделей и методов моделирования
- •2.1. Основные типы системных моделей
- •2.2. Классификация методов моделирования сложных систем
- •3. Математические методы моделирования
- •3.1. Принципы и подходы к построению математических моделей
- •3.2. Этапы построения математической модели
- •3.3. Примеры математических моделей
- •3.3.1. Модель целенаправленной системы
- •3.3.2. Модель абстрактной системы с неопределённой структурой
- •3.3.3. Модель целенаправленной системы с управлением.
- •3.3.4. Модель оптимального планирования доставки товаров потребителям
- •3.3.5. Модель в контуре управления экономической системы
- •4. Имитационное моделирование.
- •4.1. Понятие имитационного моделирования
- •4.2. Автоматизация имитационного моделирования
- •4.3. Дискретно-событийное моделирование
- •4.3.1. Системы массового обслуживания
- •4.3.2. Механизмы продвижения времени
- •4.3.3. Обозначения смо-систем
- •4.3.4. Параметры систем массового обслуживания
- •4.3.5. Критерии оценки работы систем массового обслуживания
- •4.3.6. Компоненты дискретно-событийной имитационной модели и их программная организация
- •4.4 Этапы исследования системы с помощью имитационного моделирования
- •4.5. Преимущества, недостатки и ошибки имитационного моделирования
- •4.6. Моделирование по методу Монте-Карло
- •4.7. Программное обеспечение имитационного моделирования
- •4.7.1. Классификация программных средств имитационного моделирования
- •4.7.2. Общие элементы моделирования
- •4.7.3. Универсальные пакеты имитационного моделирования
- •4.7.4. Предметно-ориентированные пакеты имитационного моделирования
- •5. Моделирование организационных систем
- •5.1. Концепции и стандарты организационного моделирования
- •5.2. Метамоделирование
- •5.3. Метамодель общих хранилищ данных (cwm)
- •5.4. Моделирование организационных систем
- •6. Методика и стандарты функционального моделирования
- •6.1. Методика функционального моделирования sadt
- •6.2. Диаграммы «сущность-связь»
- •6.3.Стандарты idef
- •6.3. Система моделирования бизнес-процессов AllFusion Process Modeler
- •7. Объектно-ориентированное моделирование
- •7.1. Принципы и методология объектно-ориентированного подхода.
- •7.2. Унифицированный язык моделирования uml
- •7.2.1. Архитектура uml
- •7.2.2. Диаграммы uml
- •7.2.3. Использование uml при моделировании систем реального времени
- •7.2.4. Преимущества uml
- •7.2.5. Унифицированный Процесс разработки по компании Rational
- •7.3. Архитектура, управляемая моделями
- •7.4. Разработка, управляемая моделями (mdd)
- •7.5. Объектно-ориентированное программирование
- •7.6 Инструментальные средства поддержки оо‑технологий
- •8. Моделирование бизнес-процессов
- •9. Моделирование систем с soa-архитектурой
- •9.1. Композитная структура программ
- •9.2. Концепция soa
- •9.3. Сервис-ориентированное моделирование
- •10. Модели систем с «облачной» архитектурой
- •Заключение
- •Литература
3.3.4. Модель оптимального планирования доставки товаров потребителям
Задача оптимизации доставки товаров потребителям (скажем с нескольких складов в несколько магазинов) относится к классу задач оптимального планирования.
Постановка задачи. Рассмотрим задачу нахождения такого плана перевозок продукции с М складов к N потребителям, который требовал бы минимальных затрат. Обозначим Хij. — количество продукции, поставляемое со склада i потребителю j. Пусть Pij— издержки доставки единицы продукции со склада i потребителю j. Предполагается, что транспортные расходы пропорциональны количеству перевозимой продукции, т. е. Q = РХ.
Обозначим
для i = 1,…, M для j = 1,…,N
Сi — количество продукции, находящееся на складе i;
Bj — количество продукции, необходимой потребителю j.
Для решения задачи необходимо соблюдение следующего условия:
(3.9)
То есть, потребность в продукции всех потребителей должна быть обеспечена количеством товара на всех складах. Целевая функция определяется равенством
(3.10)
Исходными данными при решении данной задачи являются:
издержки транспортировки либо прибыль от реализации товара (массив Р);
количество товара на каждом складе (массив C);
количество товара, нужного каждому потребителю (масив В).
Математическая модель задачи оптимального планирования формулируется следующим образом. Необходимо найти значения действительных переменных X1, X2 ..., Хn, для которых целевая функция Q(x) = P1X1+ Р2Х2 + ... + РnХn принимает экстремальное (минимальное) значение на множестве точек, координаты которых удовлетворяют условиям:
a11X1 + a12X2+ ... +a1NXN = b1 (3.11)
а21Х1 + а22Х2 + ... + а2NХN = b2,
…
aM1Х1 + аM2Х2 + ... + аMNXN = bM,
Х1≥0, Х2≥0, ... , XN≥0.
Здесь коэффициенты aij, bi, Pj (i = 1, 2,..., М; j = 1, 2,..., N) — действительные числа. Использование матричных обозначений позволяет записать задачу линейного программирования в виде:
АХ = В, Х0, Qmin(X) = PX, (3.12)
где:
X = (Х1, Х2, ... , ХN)T, (T – операция трансформации матрицы)
А ‑ матрица (аij) размера MN,
Р = (Р1, Р2, ... , РN) ‑ вектор размера N,
В = (b1, b2, ... , bM)T 0 ‑ вектор размера М,
Qmin(X) означает поиск минимума целевой функции.
Qmax(X) = РХ означает поиск максимума целевой функции.
Очевидно соотношение:
Qmin(X) = ‑ Qmax(X) (3.13)
Точка X, удовлетворяющая всем условиям, называется допустимой точкой. Множество всех допустимых точек называется допустимой областью.
Если после отбрасывания одного условия допустимая область не изменяется, то это условие считается лишним.
В случае недостающего условия или для преобразования неравенства в равенство вводится дополнительная переменная.
Решение подобных задач проводится методами линейного программирования. Линейным программированием называется раздел математики, в котором изучаются методы нахождения минимума или максимума линейной функции конечного числа переменных при условии, что они удовлетворяют конечному числу дополнительных условий, имеющих вид линейных уравнений или неравенств.
Задачи подобной оптимизации решаются, например, программой Solver (Поиск решения) в табличном процессоре Microsoft Excel, которая относится к группе средств, выполняющих так называемый анализ "что-если". Суть этой методики состоит в том, что можно автоматически изменять исходные переменные задачи и сразу же видеть результаты этих изменений. Автоматическое обновление вычислений обеспечивает интерактивную обратную связь с экспериментами "что-если". Если для модели установлен автоматический пересчёт, то можно изменять (небольшими порциями - инкрементами) значение ячейки (или нескольких ячеек) независимой переменной (или нескольких переменных) и тут же увидеть результаты пересчёта во всех результирующих ячейках, которые зависят от изменённых значений. Программа запускаемая командой Поиск решения (Solver), может применяться для решения задач, которые включают много изменяемых ячеек (независимых переменных), и помогают найти такие их комбинации, которые минимизируют или максимизируют значения в целевых ячейках (зависимых переменных), которые содержат результаты вычислений, т.е. решений задачи оптимизации.