
- •1. Введение
- •1.1. Задачи, стадии и этапы проектирования
- •1.2. Задачи коммерциализации: бизнес-план и жизненный цикл продукции
- •1.3. Вопросы для самоконтроля
- •2. Проектирование элементов мехатронных систем
- •2.1. Мехатроника – инструментарий для разработки робототехники
- •2.2. Программный инструментарий для проектирования мехатронных систем
- •2.3. MexBios Development StidioTm
- •2.4. Программное обеспечение VisSim
- •2.6. Вопросы для самоконтроля
- •3. Оптимизация пид-регулятора по заданному целевому функционалу
- •3.1. Основные требования к системе и математический аппарат
- •3.2. Требования к физической реализуемости модели
- •3.3. Формализация требований к системе: целевая функция
- •3.4. Особенности целевых функций при оптимизации регуляторов
- •3.5. Синтетические критерии оптимальности
- •3.6. Оптимизация ансамбля систем
- •3.7. Методы одномерной оптимизации
- •3.7.1. Прямые методы отыскания экстремума
- •3.7.2. Итеративный поиск
- •3.7.3. Метод Монте-Карло
- •3.7.4. Дихотомическое деление отрезка
- •3.7.5. Метод чисел Фибоначчи
- •3.7.6. Метод золотого сечения
- •3.8. Методы многопараметрической оптимизации
- •3.8.1. Случайный поиск
- •3.8.2. Метод исключения касательными
- •3.8.3. Градиентный метод
- •3.8.4. Метод Ньютона
- •3.8.5. Метод секущих
- •3.8.6. Метод покоординатного спуска
- •3.8.7. Метод Розенброка
- •3.8.8. Метод Хука – Дживса
- •3.8.9. Метод Нелдера – Мида (деформируемого многогранника)
- •3.8.10. Метод Флетчера-Рився (сопряженных градиентов)
- •3.8.11. Метод Девидона – Флетчера – Пауэлла (переменной метрики)
- •3.8.12. Метод локальной оптимизации
- •4. Эволюционные методы
- •4.1. Введение в эволюционные методы
- •4.2. Генетический алгоритм
- •4.3. Простой генетический алгоритм
- •4.4. Преимущества генетических алгоритмов
- •4.5. Пример с транспьютерными технологиями
- •4.6. Генетический метод комбинирования эвристик
- •5. ДинамическОе программирование
- •5.1. Принцип динамического программирования
- •Литература
- •ПриложенИя Приложение 1. Система технической документации на асу
- •Приложение 2. Выдержки из гост 34.601-90. Автоматизированные системы. Стадии создания
- •1. Общие положения
- •2. Стадии и этапы создания ас
- •Приложение 3. Выдержки из гост 34.602-89. Техническое задание на создание автоматизированной системы
- •1. Общие положения
- •2. Состав и содержание
- •3. Правила оформления
- •1. Исходные предпосылки создания комплекса
- •2. Взаимосвязь екс ас с другими системами и комплексами стандартов
- •1. Общие положения
- •2. Предварительные испытания
- •2.2. Автономные испытания
- •2.3. Комплексные испытания
- •3. Опытная эксплуатация
- •4. Приемочные испытания
- •1. Общие положения
- •2. Требования к содержанию документов
- •2.1. Схема организационной структуры
- •2.2. Описание организационной структуры
- •2.3. Технологическая инструкция
- •2.4. Инструкция по эксплуатации
- •2.5. Должностная инструкция
- •1. Виды и наименование документов
- •2. Комплектность документации
- •3. Обозначения документов
- •1. Введение 3
- •2. Проектирование элементов мехатронных систем 13
- •3. Оптимизация пид-регулятора по заданному целевому функционалу 19
- •4. Эволюционные методы 43
- •5. ДинамическОе программирование 56
4.6. Генетический метод комбинирования эвристик
Размещение в блоках элементов: группы элементов, имеющие множественные связи между собой, только в сочетании в общем блоке задают минимум межблочных соединений. Следовательно, надо не просто наследовать ген решения, а наследовать комбинацию генов.
Кластеризация. Вместо ограничения типа неравенства вводится ограничения типа равенства на число элементов в кластере.
nj = ent(n/m) – или ent(n/m)+1,
где ent(n/m) – целая часть деления числа элементов на число кластеров.
Например, в одной микросхеме 4 элемента «И-НЕ». Если ставим один элемент, то цена его установки увеличивает общую цену. Добавление 2-го, 3-го и 4-го элементов бесплатное, добавление 5-го элемента снова увеличивает цену. Следует учесть, что существуют и другие соображения, кроме количества элементов. В частности, возрастание связей может оказаться дороже, чем добавление элемента. Следовательно, нужны синтетические критерии, учитывающие одновременно и количество элементов и количество связей, т.е. необходимо приводить эти платежи к единой шкале.
Необходимо учитывать и нежелательность наводок, возможные паразитные связи, и исходя из этого, корректировать компоновку. И все же современные микросхемы спроектировать без помощи компьютеров, использующих программы оптимизации размещения и связей принципиально невозможно: у человека имеется предел технологической компетенции и предел безошибочности (минимальное количество ошибок на количество связей), а компьютер может решить задачу строго безошибочно. Поэтому оператор может корректировать решения, конкретные расположения и связи, даже критерии, но все равно окончательную проверку должен делать компьютер.
5. ДинамическОе программирование
5.1. Принцип динамического программирования
Принцип динамического программирования Беллмана состоит в следующем. Если существует оптимальная траектория, то каждый ее остаточный фрагмент также является оптимальной траекторией. Если отыскание одного последнего шага проще, чем отыскание всех шагов сразу, то может быть построена итеративная процедура с отысканием итоговой траектории по этим фрагментам, т.е. задача решается «с конца».
При графическом решении таких задач строится поле оптимальных направлений для каждой точки.
Например, в пространстве фазовых траекторий строим поверхности одинаковой цены пути до цели, начиная от ε-окрестности цели. Первая такая поверхность строится легко, она совпадает с точкой цели. Следующие поверхности строятся так близко, что можно применить линеаризацию для исчисления цены пути. Поверхность, соединяющая точки одинаковой длины для предыдущей поверхности равной цены является новой поверхностью. И так далее.
На рис.1. показан пример решения лабиринта на этом принципе. Движение разрешено только по клеточкам (включая движение вдоль стены, если ее граница совпадает с линией клеточки). Решение осуществляется по следующему алгоритму: каждому углу клеток, начиная с ближайших к финишу точки, приписывается цена, соответствующая оставшемуся расстоянию до финиша. При различных способах движения от данного угла до финиша фиксируется кратчайший путь и углу в качестве характеристики присваивается минимальное расстояние. Таким образом, в соответствии с одним вариантом движения граница старта получает цену 50, по другому пути – 36, а по третьему – 32.
Интуитивный принцип «лучше плохо ехать, чем хорошо стоять» или «лучше приближаться, чем удаляться» не всегда выполняется. Иной раз кратчайшее расстояние начинается с таких шагов, которые направлены не по направлению к цели, а в противоположном направлении.
Обязательный принцип состоит в том, что на каждом этапе критерий оптимальности должен быть тот же самый, изменения критерия недопустимо. Изменение метода поиска оптимальной траектории может иметь место, при условии, что сам критерий не меняется.
Пример неправильного действия: если одну траекторию оптимизировать «по цене», а другую – «по времени», можно половину пути пройти пешком, а вторую проехать на такси. В итоге будет чрезмерно дорого и чрезмерно долго.
Рис.1. Поиск кратчайшего расстояния методом динамического программирования.
Другой пример: на одном этапе вызваться перетаскивать грузы, дабы получить освобождение от бесплатного образования, а на втором этапе, допустим, заплатить за образование, чтобы снизить свои усилия по получению знаний и лучше подготовиться к экзаменам, то в целом получается, что обучающийся заплатил за то, чтобы работать грузчиком (хотя на самом деле за это должны платить зарплату). Кажущийся выигрыш в одном и кажущийся выигрыш в другом на разных этапах на деле обращается в чистый проигрыш.
Пример того, что методику поиска оптимума можно на разных этапах менять, лишь бы критерий не менялся: скажем, начальные настройки регулятора могут быть получены градиентным способом, а окончательные – простым дроблением шага и анализом результата (подобно тому, как осуществляется поразрядное уравновешивание в АЦП). Градиентный способ на начальном этапе позволяет правильно указать направление и даже величину шагов по направлению к оптимуму, поэтому он более эффективен. На последних этапах градиент мал, вычисления градиента по сложности не уменьшаются, поиск может затянуться, процедура оптимизации – зациклиться. Тогда как простое дробление шага может привести к нужному результату за фиксированное количество шагов при фиксированной требуемой точности.
Примеры из социологии.
Разрезание «государственного» пирога по Беллману. При условии, что пирог требуется разделить на N частей, и каждый имеет право отрезать и выбрать себе кусок, получится, что первые будут отрезать и выбирать большие куски. Если сформулировать правило, в соответствии с которым первый отрезающий будет последним выбирающим, то каждый будет заинтересован в отрезании долей, равных 1/N. При этом первый берущий вообще не должен ничего резать. В политике это означает, что делить бюджет должны не те, кто возглавляет ведомства, которые будут этот бюджет тратить. Например, конгресс делит бюджет по статьям или по министерствам, а министерства уже получают эти доли, но сами конгрессмены не заинтересованы в увеличении чьей-то доли, дабы не вносить субъективности (т.е., естественно, необъективности, неправильности).
Деление зарплат по голосованию большинства. Если председательствующий будет ставить на голосование предложение обездолить одного (за какую-то реальную или надуманную вину) и раздать его долю остальным, он будет всегда получать поддержку большинства. За M постановок на голосование можно наказать порциями по 1/K членов (или групп) общества общим числом в M/K. Требование поддержки простым большинством выполняется при K>2, а квалифицированным большинством – при K>3. Таким образом, за требуемое количество итераций он может обездолить не меньшинство, а большинство. Чтобы обездолить все 100% (кроме себя любимого), достаточно в самом примитивном случае трех голосований. Для более завуалированных действий потребуется больше голосований, но суть останется той же: манипулируя мнением большинства, можно подавить не только меньшинство, а также и большинство членов общества, имеющих право голоса. Это достигается именно потому, что критерии между разными голосованиями меняются. Фиксация и преемственность критериев (законов), таким образом, служит основой полезности демократии. Именно поэтому для изменения законов обычно требуется не простое большинство, а квалифицированное большинство (т.е. более 2/3 присутствующих) при условии явки квалифицированного кворума (т.е. более 2/3 списочного состава).
Критерий maximin (максимум из минимума) или minimax (минимум из максимума). Часто применятся в теории игр для минимизации риска или максимизации прибыли для самого плохого случая. В оценке общества тоже защищенность самого бесправного члена общества – показатель его гуманности (но не имеет ничего общего с принципом демократии). Суд Линча – тоже демократический аппарат. Приговор Сократа в Афинах также был осуществлен по всем правилам «демократического» голосования.