- •Оглавление
- •Введение
- •1. Основные понятия теории системного анализа и принятия решений
- •Классификация задач принятия решения
- •Калибровочные соотношения между альтернативами
- •2.1. Однокритериальные задачи в условиях определенности
- •2.2. Многокритериальные задачи в условиях определенности
- •2.3. Принятие решений в условиях неопределенности
- •2.3.1. Принятие решений при наличии неопределенных факторов
- •Системная матрица расчетных случаев риска
- •2.3.2. Принятие решений в условиях отсутствия информации
- •2.3.3. Принятие решений в условиях нечеткой информации
- •2.3.4. Методы построения функций принадлежности
- •Качественные оценки градации альтернатив
- •3. Принятие решений с использованием критерИев
- •3.1. Минимаксный критерий
- •3.2. Расширенный минимаксный критерий
- •3.3. Критерий байеса-лапласа
- •3.4. Критерий сэвиджа
- •3.5. Модели агрегирования критериев
- •Схемы агрегирования локальных критериев
- •3.6. Основные понятия теории игр
- •Игра с нулевой суммой
- •3.7. Многомерные модели принятия решений
- •4. Методы многокритериальной оптимизации
- •4.1. Аксиоматическая теория полезности
- •4.2. Метод electre I
- •4.3. Метод electre II
- •4.4. Метод анализа иерархий (аналитическая иерархия)
- •5. Синтез оптимального управления объектами
- •5.1. Уравнение эйлера
- •5.2. Формализация задаЧи синтеза оптимальНого управления
- •5.3. Критерии оптимальности автоматических систем
- •5.4. Применение вариационного исчисления в оптимальНом управлении
- •5.5. Синтез оптимального управления. Метод бойчука
- •6. Задачи вычисления численных оценок
- •6.1. Процедура построения квазипорядка на множестве объектов (задача об упаковке)
- •6.2. ПроцедурА оптимального назначения объектов (Задача о назначениях)
- •6.2.1. Постановка многокритериальной задачи о назначениях
- •6.2.2. Формальный анализ задачи
- •6.2.3. Графы предпочтения
- •6.2.4. Матрица предпочтения
- •6.3. Задача планирования производства
- •6.4. Задача Принятия решений в условиях риска
- •6.5. Пример использования критериев
- •6.6. Задача постороенИя функций принадлежности
- •6.7. Синтез оптимального управления с использованием метода Бойчука
- •6.8. Объектно-ориентированный подход в системном анализе и управлении
- •6.8.1. Структура построения проекта задачи системного анализа с использованием ооп
- •Библиографический список
6.8.1. Структура построения проекта задачи системного анализа с использованием ооп
Развитие вычислительной техники привело к тому, что решение прикладных задач не обходится без использования ЭВМ. Рассмотрим пример построения структуры проекта с использованием списочных структур. Решение математической модели на ЭВМ имеет определенные этапы. Классифицируем эти этапы следующим образом. Синтез математической модели, метод решения, решение математической модели и форматирование результатов.
Структуру решения задачи определим как связанный список, содержащий этапы решения задачи как узлы списка.
Дадим определение линейного связанного списка.
Линейный список — это множество, состоящее из n 0 узлов {X[1], X[2], …, X[n]}, свойства которого ограничиваются линейным (одномерным) относительным положением узлов, такими, что если n>0, то X[k] предшествует X [k–1] и за ним следует X [k+1]; X[n] является последним узлом.
При необходимости можно определить множество операций со списком. Например:
1. Получить доступ и k-му узлу списка, чтобы проанализировать и/или изменить содержимое его полей.
2. Включить новый узел непосредственно перед k-м узлом.
3. Исключить k-й узел.
4. Объединить два (или более) линейных списка в один список.
5. Разбить линейный список на два (или более).
6. Сделать копию линейного списка.
7. Определить сортировку узлов списка в возрастающем порядке по некоторым полям в узлах.
8. Найти в списке узел с заданным значением в некотором поле.
Структура связанного списка приведена на рис.6.1.
begin
. . .
Рис.6.27. Структура линейного связанного списка.
здесь begin — указатель на начало списка; K — поле ключа, дополнительное поле элемента списка, содержащее уникальное значение (например, номер элемента в списке); Info — поле данных; Next – указатель на следующий элемент списка; NULL —
нулевой указатель (если отсутствует следующий элемент в списке).
В качестве базового класса определим класс «Задача», как абстрактный класс. Определим производные классы: «Модель». как класс, определяющий математическую модель задачи; класс «Решение», как класс, определяющий метод решения модели; класс «Вывод», как класс, определяющий вывод результатов полученного решения. С помощью класса «Список» будет формироваться связный линейный список элементами которого будут объекты разных классов, производные от абстрактного класса «Задача». Параметр конструктора класса «Список» должен содержать указатель на абстрактный базовый класс «Задача». В качестве фактических параметров будут использоваться ссылки (указатели) на конкретные объекты классов (производные от абстрактного класса). Т. е. в односвязный список включаются этапы решаемой задачи (Модель-Решение-Вывод).
На рис.6.28 приведена структура связного списка. На рис.6.29 приведен направленный ациклический граф наследования классов.
Рис.6.28. Структура связного списка.
Рис.6.29. Направленный ациклический граф наследования классов.