Разработка модуля для комплекса многокритериальной и многопараметрической оптимизации "CADoptimizer"

Анализ возможностей автоматизации проектирования различных объектов и процессов на основе методов оптимизации. Требования, предъявляемые к программному комплексу "CADoptimizer". Программная реализация разрабатываемого модуля библиотеки частных критериев.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 27.04.2016
Размер файла 669,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

ОГЛАВЛЕНИЕ

  • АННОТАЦИЯ
  • А. СПЕЦИАЛЬНАЯ ЧАСТЬ ПРОЕКТА
    • 1. Введение
    • 2. Автоматизация процесса проектирования на основе методов оптимизации
      • 2.1 Основные проблемы проектирования
      • 2.2 Процессы и этапы проектирования, автоматизация проектирования
      • 2.3 Методы оптимизации проектирования
    • 3. Постановка задачи
      • 3.1 Назначение комплекса
      • 3.2 Цели создания комплекса
      • 3.3 Преимущества комплекса «CADoptimizer» перед аналогами
      • 3.4 Структура и работа комплекса
    • 4. Техническое задание на дипломное проектирование
      • 4.1 Назначение и область применения
      • 4.2 Описание объекта проектирования
      • 4.3 Требования к программе
  • Б. КОНСТРУКТОРСКО-ТЕХНОЛОГИЧЕСКАЯ ЧАСТЬ
    • 1. Выбор языка программирования
    • 2. Используемое программное обеспечение
      • 2.1 Denwer
      • 2.2 NotePad++
      • 2.3 PhpDesigner
    • 3. Разработка программного модуля
      • 3.1 Внутренняя структура для хранения данных
      • 3.2 Базовая библиотека частных критериев
      • 3.3 Пользовательские критерии
      • 3.4 Весовые коэффициенты
      • 3.5 Свертывание частных критериев
  • В. ОХРАНА ТРУДА
    • 1. Основные понятия и определения
    • 2. Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияния на пользователей
      • 2.1Опасные и вредные факторы, возникающие при эксплуатации ЭВМ
      • 2.2 Анализ влияния опасных и вредных факторов на пользователя
      • 2.3 Методы и средства защиты пользователей от воздействия на них опасных и вредных факторов
    • 3. Освещение
    • 4. Выводы
  • Г. ЭКОЛОГИЧЕСКАЯ ЧАСТЬ ПРОЕКТА
    • 1. Влияние шума на производительность труда
      • 1.1 Основные понятия и определения
      • 1.2 Классификация шума
      • 1.3 Воздействие шума на организм человека
      • 1.4 Методы защиты от шума
    • 2. Микроклимат в рабочей зоне
      • 2.1 Термины и определения
      • 2.2 Характеристика отдельных категорий работ
      • 2.3 Общие требования и показатели микроклимата
      • 2.4 Оптимальные условия микроклимата
      • 2.5 Допустимые условия микроклимата
    • 3. Выводы
  • ЗАКЛЮЧЕНИЕ

А. СПЕЦИАЛЬНАЯ ЧАСТЬ ПРОЕКТА

1. Введение

Целью выполнения дипломного проекта являлась разработка модуля для комплекса многокритериальной и многопараметрической оптимизации «CADoptimizer».

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

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

В конструкторско-технологической части описываются используемые технические средства и программное обеспечение.

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

автоматизация оптимизация модуль библиотека критерий

2. Автоматизация процесса проектирования на основе методов оптимизации

2.1 Основные проблемы проектирования

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

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

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

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

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

2.2 Процессы и этапы проектирования, автоматизация проектирования

В ходе проектирования объектов зачастую происходит многократное повторение различных операций проектирования. Основная причина заключается в том, что проектирование является закономерно развивающимся процессом. Исследования, проведенные на некоторых машиностроительных и станкостроительных предприятиях, показали, что творческий этап занимает только 10-25% от общего времени проектных работ, остальное же время тратится на подбор параметров, соответствующих техническому заданию, а также на изготовление и испытание опытных образцов.

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

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

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

Объектом автоматизации проектирования являются действия человека, выполняемые в процессе проектирования. А то, что проектируют, называют объектом проектирования. Отсюда следует, что объекты проектирования не являются объектами автоматизации проектирования.

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

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

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

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

· поиск и выбор из всевозможных источников нужной информации;

· анализ выбранной информации;

· выполнение расчетов;

· принятие проектных решений;

· оформление проектных решений в виде, удобном для дальнейшего использования (на последующих стадиях проектирования, при изготовлении или эксплуатации изделия)

Огромное значение имеет формализация объекта проектирования. Выбор методов решения поставленных задач зависит от уровня формального описания проектируемого объекта, а следовательно, на данном этапе определяется возможность применения средств вычислительной техники. При отсутствии формализации объекта конструктор может использоваться в сочетании с одним из эвристических методов решения задачи. Полная формализация задачи позволяет на её основе составить математическую модель объекта проектирования, просчет которой в дальнейшем можно автоматически выполнять при помощи средств электронно-вычислительных машин. Если же не все внутренние связи системной модели проектируемого объекта удалось выразить в форме аналитических и логических зависимостей, то это является частичной формализацией. В данном случае применяется вариант, при котором используется неполная математическая модель объекта, а также сценарий взаимодействия конструктора и ЭВМ.

Теперь приведем список основных этапов проектирования с позиции технологии обработки информации:

· техническое задание на проектируемый объект;

· научно-исследовательская работа;

· эскизный проект;

· технический проект;

· рабочий проект;

· технология изготовления и испытания спроектированного объекта (опытного образца или партии), внесения коррекции (при необходимости).

На рисунке 1 изображена блок-схема с основными этапами проектирования.

Рисунок 1. Основные этапы проектирования.

Ошибочность и неоптимальность принятых ранее решений можно выявить в ходе выполнения любой стадии или этапа проектирования. Следовательно, может появиться необходимость или целесообразность их изменения. Такого рода возвраты характерны при проектировании любого объекта или процесса. Это и обусловливает итерационный характер проектирования. В некоторых случаях может быть также выявлена необходимость внесения корректировок в техническое задание. Изменение технического задания влечет за собой чередование процедур внешнего и внутреннего проектирования, что является характерным для стадии научно-исследовательской работы.

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

Стадию НИР в большинстве случаев можно разделить на 3 этапа:

· предпроектные исследования;

· формирование технического задания;

· формирование технического предложения.

В ходе последовательного выполнения этих этапов изучаются необходимые потребности в создании новых изделий с заданными целевыми характеристиками, анализируется возможные значения параметров и характеристик проектируемого объекта, а также проводят исследования физических, информационных, конструктивных и технологических принципов разработки изделия. Также происходит построение связей типа «вход-выход», определяется информативность параметров, выполняется активный эксперимент, формируются математические модели и алгоритмы, управляющие технологическим процессом. Конечным результатом выполненной НИР является сформулированное техническое задания на разработку нового объекта или процесса.

На этапе НИР происходит решение следующих поставленных задач:

· Формулирование необходимых критериев качества.

· Проведение научного эксперимента.

· Организация пассивного или (и) активного эксперимента и обработка их результатов.

· Формирование математической модели и задание ограничений на входные и выходные параметры.

· Анализ технологических процессов проектирования объекта с целью поиска вектора входных параметров, который бы обеспечивал оптимальные выходные показатели.

· Формирование обобщенного критерия оптимальности, который объединяет все частные критерии. При решении задачи оптимизации обобщенный критерий принимается за целевую функцию.

· Решение задачи оптимизации, которое подразумевает варьирование входных характеристик в рамках установленных ограничений с целью получения минимального значения целевой функции.

· Проведение анализа возможностей разработки объекта на основе полученных значений.

· Разработка новых технических средств, в том числе средств контроля и измерений.

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

2.3 Методы оптимизации проектирования

2.3.1 Основные понятия и определения

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

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

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

Для принятия определенного решение необходимо сформулировать цели, которых нужно достичь. В соответствии с этим подходом у ЛПР есть свои представления о приоритете одних целей над другими, на основании которых одно решение является предпочтительней другому.

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

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

Целевая функция - выражение, которое в процессе решения задачи оптимизации необходимо сделать максимальным или минимальным. Иными словами, целевая функция является абсолютным критерием качества проектируемого объекта, а с математической точки зрения она представляет собой (n+1)-мерную поверхность, где n - количество проектных параметров. Если количество проектных параметров равно 1, то целевую функцию можно изобразить в виде кривой на плоскости. При двух проектных параметрах целевая функция представляется поверхностью в трехмерном пространстве. Если n > 2, то целевая функция является гиперповерхностью, и её невозможно изобразить при помощи обычных средств. Стоит учитывать, что целевая функция может являться кусочно-гладкой функцией и не вписываться в рамки замкнутой математической формы. Для задания целевых функций такого вида используются таблицы зависимостей.

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

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

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

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

2.3.2 Общее решение задачи оптимизации

К задачам параметрической оптимизации, относятся следующие задачи:

· Определение оптимальных значений параметров.

· Назначение оптимальных допусков на параметры по математической модели и заданным ограничениям на показатели качества.

· Параметрическая идентификация (уточнение параметров в модели блока объекта проектирования на основе данных испытания).

Любой оптимизируемый объект можно представить в виде схемы, изображенной на рисунке 2, где

· - проектные параметры;

· - контролируемые входные параметры;

· - неконтролиремые воздействия;

· - регулируемые входные параметры (управляющие параметры).

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

Для решения задачи оптимизации необходимо:

· сформировать математическую модель объекта проектирования

· на основе одного или нескольких критериев оптимизации составить целевую функцию

· установить на входные и проектные параметры ограничения

· использовать метод оптимизации, который позволит найти минимальное или максимальное значение целевой функции.

Математические модели включают в себя следующие основные элементы: исходные данные, проектные параметры и зависимости. Различные сочетания этих элементов образует различные классы задач оптимизации, которые требуют применения разных методов решения. Основные классы задач оптимизации приведены в таблице 1.

Таблица 1.

Классификация оптимизационных задач.

Класс задач

Исходные данные

Искомые переменные

Зависимости

Линейное программирование

Детерминированные

Непрерывные

Линейные

Дискретное программирование

Детерминированные

Дискретные

Линейные

Нелинейное программирование

Детерминированные

Непрерывные

Нелинейные

Дискретные

Стохастическое программирование

Случайные

Непрерывные

Линейные

Многокритериальное программирование

Детерминированные

Непрерывные

Линейные

Дискретные

Нелинейные

2.3.3 Задачи многокритериальной оптимизации

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

Постановку задачи многокритериальной оптимизации можно представить следующим образом:

Множественность технических требований, предъявляемых к проектным параметрам объекта, является одной из основных причин, приводящей к многокритериальность. Эти требования можно представить в виде системы неравенств:

где является предельным значением i?го технического требования.

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

.

Такой подход при проектировании объектов позволяет учитывать воздействие внешних факторов на проектные параметры.

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

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

2.3.4 Свертывание частных критериев

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

где = {w1,…,wS} - весовые коэффициенты относительной важности частных критериев оптимальности.

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

· аддитивный

· мультипликативный

· среднестепенной обобщенный

2.3.5 Весовые коэффициенты

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

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

3. Постановка задачи

3.1 Назначение комплекса

Комплекс «CADoptimizer» разрабатывался для решения задач многокритериальной и многопараметрической оптимизации при проектировании различных объектов и процессов. Данный комплекс выполняет поиск оптимальных параметров, удовлетворяющих требованиям технического задания проектирования. Программный комплекс «CADoptimizer» разрабатывался с учетов использования его как онлайн-сервиса, что дает ряд значительных преимуществ

3.2 Цели создания комплекса

· Уменьшение временных затрат на проектирование объектов / процессов;

· Получение наиболее оптимальных параметров для объекта проектирования;

· Повышение точности вычислений.

3.3 Преимущества комплекса «CADoptimizer» перед аналогами

· Возможность оптимизации характеристик любого объекта или процесса, заданного в виде математической модели;

· Снижение требований к устройству пользователя за счет серверных вычислений (требуется только наличие доступа к интернету);

· Отсутствие необходимости установки прикладного программного обеспечения устройство пользователя (требуется только веб-браузер);

· Использование учетных записей пользователей для сохранения данных о процессе проектирования на сервере.

3.4 Структура и работа комплекса

Структура комплекса представлена на рисунке 3.

Комплекс состоит из следующих модулей:

· пользовательский интерфейс;

· математическая модель;

· библиотека критериев;

· случайный поиск;

· прямой и градиентный поиск.

3.4.1 Функции модуля пользовательского интерфейса

· ввод/вывод математической модели;

· выбор математической модели из библиотеки;

· выбор из библиотеки и создание критериев для выходных параметров;

· регистрация и аутентификация пользователей;

· ввод дополнительных параметров для остальных модулей;

· вывод результатов;

· сохранение состояния работы программы для данного пользователя.

3.4.2 Функции модуля математической модели

· создание внутренней подпрограммы на основе введенной пользователем информации;

· формирование вектора выходных характеристик для соответствующего вектора входных параметров.

3.4.3 Функции модуля библиотеки критериев

· выбор пользователем частных критериев оптимальности из библиотеки;

· подключение пользовательских критериев к библиотеке;

· расчет весовых коэффициентов критериев в зависимости от выбранного пользователем типа;

· формирование целевой функции на основе выбранных критериев и установленных значений весовых коэффициентов;

· расчет значения целевой функции для одиночного вектора или массива векторов выходных параметров.

3.4.4 Функции модуля случайного поиска

· формирование массива векторов входных параметров удовлетворяющих ограничениям пользователя;

· ранжирование сформированного массива по минимальному значению целевой функции;

· вывод заданного пользователем количества наилучших результатов поиска;

· передача выбранного пользователем вектора входных параметров модулю прямого поиска.

3.4.5 Функции модуля прямого и градиентного поиска

· поиск оптимальных входных параметров на основе выбранного пользователем метода;

· вывод наилучшего результата поиска.

4. Техническое задание на дипломное проектирование

4.1 Назначение и область применения

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

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

4.2 Описание объекта проектирования.

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

4.3 Требования к программе

Рассмотрим сформулированные основные требования для решения поставленной задачи.

Функциональные требования:

· Выбор пользователем частных критериев оптимальности из библиотеки.

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

· Подключение пользовательских критериев к библиотеке.

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

· Расчет весовых коэффициентов критериев в зависимости от выбранного пользователем типа.

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

· Формирование целевой функции на основе выбранных критериев и установленных значений весовых коэффициентов.

Модуль должен реализовывать внутреннюю подпрограмму целевой функции на основе введенных пользователем данных.

· Расчет значения целевой функции для одиночного вектора или массива векторов выходных параметров.

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

Нефункциональные требования:

· Производительность.

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

· Универсальность и гибкость.

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

· Удобство использования.

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

Б. КОНСТРУКТОРСКО-ТЕХНОЛОГИЧЕСКАЯ ЧАСТЬ

1. Выбор языка программирования

Ориентация комплекса многокритериальной и многопараметрической оптимизации «CADoptimizer» на работу в роли онлайн-сервиса существенно сузила набор возможных языков программирования. Язык или набор языков должен был удовлетворять следующим требованиям:

· возможность работы созданной программы в виде интернет-приложения или сайта;

· обработка основных данных при помощи удаленного сервера;

· объектная ориентированность;

· удобство и быстрота взаимодействия с базами данных;

· широкие возможности по созданию пользовательского интерфейса;

· отсутствие необходимости в установке дополнительного программного обеспечения пользователем.

Выбор остановился на наборе языков web-программирования, которые подразделяются на 2 вида. Первый вид представляет собой языки программирования клиентской части, к которым относятся:

· HTML

«HyperText Markup Language» - язык разметки гипертекста. Широко распространен во Всемирной паутине. Используется для формирования и структурирования документов за счет добавления различных элементов с изменяемыми свойствами. Также обладает рядом мультимедийных возможностей.

· CSS

«Cascading Style Sheets» - каскадные таблицы стилей. Используются для изменения внешнего вида веб-страниц, сформированных при помощи языка разметки. Основной целью применения CSS является повышение доступности документа за счет гибкости и простоты управления его внешним видом, а также сведение к минимуму структурных повторений для однотипных элементов, когда стили прописываются через свойство языка разметки.

· JavaScript

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

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

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

· PHP

HyperText Preprocessor - препроцессор гипертекста. PHP является языком программирования общего назначения. Наибольшую популярность он получил, как скриптовый язык для создания web-приложений и сайтов. Его преимуществами являются:

Ш простота;

Ш безопасность;

Ш скорость выполнения;

Ш обработка на стороне сервера;

Ш богатый функционал;

Ш большое количество пользовательских библиотек для решения различных задач;

Ш бесплатное распространение.

Также задачей серверных языков является осуществление непосредственного взаимодействия с базами данных с помощью специальных систем управления. В ходе анализа ряда систем управления баз данных было решено выбрать систему MySQL. Она является одной из самых популярных систем и поддерживается большинством хостингов, также как и серверный язык PHP, что является весомым плюсом при запуске онлайн-сервиса «CADoptimizer» в сети интернет.

· MySQL

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

2. Используемое программное обеспечение

При разработке модуля библиотеки частных критериев для комплекса многокритериальной и многопараметрической оптимизации мною было использовано следующее программное обеспечение:

· «Denwer»;

· «Notepad++»;

· «PhpDesigner»;

Ниже приводится описание программного обеспечения, преимущества и рассматриваются области применения в рамках текущей работы.

2.1 Denwer

«Denwer» - программная оболочка, эмитирующая работу веб-сервера Apache. При программировании на серверных языках, чтобы проверить работоспособность только что созданной программы разработчику необходимо каждый раз отправлять обновленный проект на удаленный сервер. В ходе разработки таких проверок может быть несколько десятков или сотен, переносить каждый раз проект отнимет значительную часть времени и окажет сильное воздействие на вашу нервную систему. Denwer позволяет запустить локальный сервер на текущем компьютере и не требует наличия удаленного сервера, арендой и настройкой которого можно заняться уже на завершающем этапе разработки. Также Denwer имеет возможность работы со съемного флэш-накопителя, что является существенным плюсом. Немаловажную роль играет поддержка системы управления баз данных MySQL и наличие в программном пакете панели администрирования phpMyAdmin.

2.2 NotePad++

«Notepad++» - текстовый редактор с открытым исходным кодом, разработанный для программистов и веб-дизайнеров. Имеет широкий функциональный спектр и удобный пользовательский интерфейс. Поддерживает открытие нескольких документов в различных вкладках, обладает настраиваемой подсветкой синтаксиса, которая различает множество языков программирования, в том числе HTML, CSS, Javascript и PHP. Редактор имеет возможность подключения плагинов для добавления дополнительного функционала. Отличительной особенностью является хорошее быстродействие даже при большом количестве открытых документов и подключенных плагинов.

При разработке модуля библиотеки критериев редактор использовался для работы с временными файлами на языках HTML и CSS.

2.3 PhpDesigner

«PhpDesigner» - текстовый редактор, основным назначением которого является создание, редактирование и публикация веб-приложений и документов, написанных на языке PHP. Помимо языка PHP редактор поддерживает и остальные языки веб-программирования: HTML, CSS, Javascript и т.д. Значительным преимуществом данного редактора является то, что он содержит языковые библиотеки, которые оказывают помощь разработчику при написании программ: выдают списки свойств и методов для текущего объекта, указывают на ошибки и опечатки в программном коде, выполняют автодополнение выражений, а также показывают справку по функциям текущего языка при нажатии на кнопку F1. PhpDesigner дает пользователю возможность работы как с отдельными файлами, там и с целыми проектами. К тому же, для удобства взаимодействия с проектами имеется встроенный FTP-менеджер, который позволяет создавать, удалять и редактировать файлы, расположенные на удаленном сервере.

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

3. Разработка программного модуля

3.1 Внутренняя структура для хранения данных

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

Структура объекта target_function представлена на рисунке 4.

n - количество заданных пользователем частных критериев оптимальности.

Criterion - идентификатор критерия. Представляет собой уникальный индекс, по которому вызывается соответствующая функция вычисления значения.

Type - тип критерия. Принимает 2 значения default/user, что указывает на отношение данного критерия к разделу стандартных или пользовательских функций.

Result - значение частного критерия, которое вычисляет функция для текущего вектора или набора векторов выходных параметров.

Variable - выходной параметр, к которому относится данный частный критерий.

Weight - весовой коэффициент. Данное поле представляет собой еще одну подструктуру, которая хранит пользовательское значение, значение, полученное в ходе применения того или иного метода расчета коэффициентов, а также несколько промежуточных значений, необходимых для вычисления.

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

· level_value - значение уровня;

· zone_min_value - нижняя граница области;

· zone_max_value - верхняя граница области;

· user_function - пользовательская функция, хранящаяся в строчном представлении.

Указанные разделы полей parameters могут являться пустыми, так как они используются в соответствии с типами частных критериев, выбранных пользователем.

Рисунок 4. Структура объекта target_function.

3.2 Базовая библиотека частных критериев

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

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

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

Таблица 2.

Библиотека частных критериев оптимизации

Физический смысл

Математическая зависимость

Необходимые дополнительные параметры

1

Минимальное значение расчетного параметра

yi - расчетный параметр

отсутствуют

2

Максимальное значение расчетного параметра

yi - расчетный параметр

отсутствуют

3

Сумма разностей между расчетным параметром и заданным значением

yi - расчетный параметр

yз - заданный уровень

значение уровня

4

Максимальное рассогласование между расчетным параметром и заданным значением

yi - расчетный параметр

yз - заданный уровень

значение уровня

5

Сумма разностей между расчетным параметром и значением заданной функции

yi - расчетный параметр

yiз - значение заданной функции

пользовательская функция

6

Максимальное рассогласование между расчетным параметром и значением заданной функции

yi - расчетный параметр

yiз - значение заданной функции

пользовательская функция

7

Сумма разностей между расчетным параметром и заданной областью

yi > max

yi <min

минимальное и максимальное значение области

8

Максимальное рассогласование между расчетным параметром и заданной областью

yi > max

yi <min

min<yi <max

минимальное и максимальное значение области

3.3 Пользовательские критерии

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

· название критерия;

· дополнительные параметры, необходимых в ходе вычислений;

· функцию зависимости для обработки входных параметров с целью получения значения данного критерия.

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

3.4 Весовые коэффициенты

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

· Формирование целевой функции для заданной математической модели происходит на начальном этапе работы комплекса до выполнения каких-либо вычислений, что затрудняет применение методов, основанных на анализе полученных значений частных критериев.

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

· Структура интерфейса накладывает дополнительные ограничения на применение методов расчета весовых коэффициентов, основанных на попеременном сравнении приоритетности двух частных критериев, а также при большом количестве критериев(>10) такой подход не будет иметь существенных преимуществ.

В модуле библиотеки частных критериев были реализованы следующие методы весовых коэффициентов:

· Метод однозначных приоритетов. Данный метод подразумевает, что критерий с наибольшим приоритетом будет всегда наиболее значимым вне зависимости от принимаемых им значений. Для каждого частного критерия пользователь задает значения в диапазоне от 1 до 100. 1 имеет наибольший приоритет, 100 - наименьший. Если между значениями пользовательских коэффициентов имеются пропуски, то эти коэффициенты в ходе выполнения анализа введенных значений будут автоматически заменены, как показано в примере:

[1, 20, 40, 50] => [1, 2, 3, 4]

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

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

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

3.5 Свертывание частных критериев

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

· простота реализации;

· наглядность и удобство проверок при промежуточных тестированиях;

· равнозначность частных критериев

· практичность при нахождении оптимального решения;

· высокое быстродействие.

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

В. Охрана труда

1. Основные понятия и определения

Из Статьи 209 Трудового кодекса РФ от 30.12.2001 N 197-ФЗ:


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.