Оглавление. 1
2. Краткие теоретические сведения. 3
3. Реализация программного средства.7
3.1 Проектирование. 7
3.2 Алгоритм поиска парето-оптимальных решений. 7
3.3 Листингпрограммногокода. 10
4. Пример работы программы.. 24
4.1 Многокритериальная задача. 24
4.2 Двухкритериальная задача. 25
3. Аналитическое задание критериев. 27
Используемая литература. 29
Используемые программные средства. 29
математическая модель парето оптимальность
Необходимо разработать программное средство для поиска парето-оптимальных решений для следующих видов задач:
1) многокритериальная задача
входные данные: количество критериев и решений; весовые значения, заданные напрямую, либо в параметрическом виде.
выходные данные: решения, входящие в множество Парето; номера парето-оптимальных решений из множества исходных решений
2) двухкритериальная задача
входные данные: количество критериев и решений; весовые значения, заданные напрямую, либо в параметрическом виде.
выходные данные: решения, входящие в множество Парето; номера парето-оптимальных решений из множества исходных решений; графическое представление парето-оптимальных решений.
Пусть задан набор числовых функций
Указанные выше числовые функции образуют векторный критерий
Как правило, между множествами возможных решений X и соответствующим множеством векторов Y можно установить взаимно однозначное соответствие, т.е. каждому возможному решению поставить в соответствие определенный возможный вектор, и обратно – каждому возможному вектору сопоставить определенное возможное решение. В таких случаях выбор во множестве решений с математической точки зрения равносилен выбору во множестве векторов и все определения и результаты можно формулировать как в терминах решений, так и в терминах векторов, причем при желании всегда можно без труда осуществить переход от одной формы изложения к другой.
Задачу выбора, которая включает множество допустимых решений X и векторный критерий f, обычно называют многокритериальной задачей или задачей многокритериальной оптимизации.
Необходимо отметить, что формирование математической модели принятия решений (т.е. построение множества X и векторного критерия f ) нередко представляет собой сложный процесс, в котором тесно взаимодействуют специалисты двух сторон. А именно, представители конкретной области знаний, к которой относится исследуемая проблема, и специалисты по принятию решений (математики). С одной стороны, следует учесть все важнейшие черты и детали реальной задачи, а с другой, – построенная модель не должна оказаться чрезмерно сложной с тем, чтобы для ее исследования и решения можно было успешно применить разработанный к настоящему времени соответствующий математический аппарат. Именно поэтому этап построения математической модели в значительной степени зависит от опыта, интуиции и искусства исследователей обеих сторон. Его невозможно отождествить с простым формальным применением уже известных, хорошо описанных алгоритмов.
Здесь следует еще добавить, что любая задача выбора (в том числе и многокритериальная) тесно связана с конкретным ЛПР(лицо, принимающее решение). Уже на стадии формирования математической модели при построении множества возможных решений и векторного критерия дело не обходится без советов, рекомендаций и указаний ЛПР, тем более что векторный критерий как раз и служит. Принятие решения при многих критериях для выражения целей ЛПР. При этом ясно, что построить модель в точности соответствующую всем реальным обстоятельствам невозможно. Модель всегда является упрощением действительности. Важно добиться, чтобы она содержала те черты и детали, которые в наибольшей степени влияют на окончательный выбор наилучшего решения.
Рассмотрим два произвольных возможных решения
1) справедливо соотношение
2) справедливо соотношение
3) не выполняется ни соотношение
Заметим, что четвертый случай, когда оба участвующих здесь соотношения
В первом из указанных выше случаев, т.е. при выполнении соотношения
Если же реализуется третий случай, то говорят, что решения
Аксиома Парето.
Для всех пар допустимых решений
Решение
Парето-оптимальное решение – это такое допустимое решение, которое не может быть улучшено (увеличено) ни по одному из имеющихся критериев без ухудшения (уменьшения) по какому-то хотя бы одному другому критерию.
Иначе говоря, предпочитая одному парето-оптимальному решению другое парето-оптимальное решение, ЛПР(лицо, принимающее решение) вынуждено идти на определенный компромисс, соглашаясь на некоторую потерю хотя бы по одному критерию (получая, разумеется, определенный выигрыш, по крайней мере, по какому-то другому критерию). По этой причине множество Парето нередко называют множеством компромиссов.
Понятие оптимальности по Парето играет важную роль в математической экономике. Именно в этой области часто вместо парето-оптимальности используют наименования эффективное решение и множество эффективных решений. Тем самым, парето-оптимальность и эффективность в математической экономике нередко оказываются синонимами.
Среда разработки: VisualStudio 2010
Язык программирования: C#
При проектировании программного средства будем использовать объектно-ориентированный подход.
Список классов с кратким описанием:
1) MainView.cs – это главное окно, служит для ввода данных и запуска работы алгоритма поиска парето-оптимальных решений.
2) SolutionsView.cs – это окно, которое содержит найденные парето-оптимальные решения, представленные в табличной форме
3) GraphView.cs– окно, на котором будет отображаться графическое представление множества Парето для двухкритериальных задач
4) Pareto.cs – это основной класс. Содержит 2 алгоритма поиска множества Парето.
5) Graph.cs – класс, содержащий методы для построения графиков (в данном случае будем использовать стороннюю библиотеку ZedGgraph.dll)
6) File.cs –методы для сохранения и загрузки данных в/из файл(а).
Шаг 1. Положить P(Y) =Y , i =1, j = 2 . Тем самым образуется так называемое текущее множество парето-оптимальных векторов, которое в начале работы алгоритма совпадает с множеством Y , а в конце составит искомое множество парето-оптимальных векторов. Алгоритм устроен таким образом, что искомое множество парето-оптимальных векторов получается из Y последовательным удалением заведомо неоптимальных векторов.