Лабораторная работа 7. Исследование методов безусловной оптимизации первого порядка. Оптимизация лабораторная работа


Лабораторная работа № 4 Оптимизация сроков выполнения кпп

Цель работы: Календарное планирование КПП на основе построения сетевого графика и его оптимизации с целью соблюдения директивных сроков выполнения КПП.

Используемое программное обеспечение- ППП «prima» (сетевой график), программаExcel. Системные требования: операционная системаWindows2000,Windows98; процессорIntelPentiumШ 600 мГц, оперативная память 128 Мб

Методические указания

На основе типового перечня этапов выполнения КПП и распреде­ления трудоемкости по отдельным работам и профессиональным груп­пам (л. р. N 3) следует расчленить процесс разработки КПП на от­дельные события и работы и определить последовательность и сроки выполнения всех работ и наступления событий.

При построении сетевого графика и в дальнейших расчетах не­обходимо учесть следующее:

1. В связи с отсутствием опробированных конструкторских ре­шений, удовлетворяющих предъявляемым требованиям, возникает необ­ходимость применить в проектируемом изделии новый принцип, требу­ющий теоретической разработки и прикладных исследований (НИР), которые должны быть завершены до начала разработки технического предложения.

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

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

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

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

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

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

(20),

где tij- длительность работы в календарных днях;

tрб- трудоемкость отдельных работ, чел-ч;

tсрд- средняя продолжительность рабочего дня.ч;

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

Кпер- коэффициент перевода рабочих дней в календарные

(21),

Дк.год- количество календарных дней в году;

Др.год- количество рабочих дней за тот же период.

Расчет длительности выполнения работ по КПП, выполняется в табл. 11.

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

Таблица 11 - Перечень работ сетевого графика

№ работы

Краткое

название

Цифровой код работы

i-j

Трудоемкость чел-дни

tрб

Число исполнителей, чел.

р

Продолжительность, дни

tij

НИР

Техническое задание

Обработка результатов НИР

Эксперимент

Оценка экономической эффективности

Техническое предложение

Фиктивная работа

Фиктивная работа

Эскизный проект

Оценка у заказчика

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

Рабочая документация

Испытание опытного образца

Фиктивная работа

1-2

1-3

2-3

3-4

3-5

3-6

4-6

5-6

6-7

7-8

8-9

9-10

9-11

10-11

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

90

5

14

3

0

0

3

0

Календарные сроки выполнения КПП определяются на ЭВМ и сво­дятся в табл. 12.

Таблица 12 - Календарные сроки выполнения КПП

Этапы КПП

Календарные даты работы

Начало

Окончание

В отчете о работе необходимо привести табл. 11, данные и календарные сроки выполнения работ в форме табл. 12.

studfiles.net

Лабораторная работа №3 "Методы оптимизации первого и второго порядков"

страница 1 Лабораторная работа №3 “Методы оптимизации первого и второго порядков”

Задание для лабораторной работы

  1. Написать условие задачи и аналитическое выражение для градиента.
  2. Решить задачу методом Коши, используя различные методы нахождения шага: метод квадратичной интерполяции, метод кубической интерполяции и метод первого приемлемого значения.
  3. Решить задачу методами Флетчера-Ривса и Полака-Рибьера.
  4. Решить задачу методами DFP и BFGS.
  5. Решить задачу методами Ньютона-Рафсона и Марквардта.
  6. Представить результаты решения задачи различными методами в таблице.
  7. Сделать выводы о влиянии способа отыскания шага на ход решения задачи.
  8. Сравнить результаты, полученные методами первого порядка, методами переменной метрики и методами второго порядка.
  9. Реализовать один из методов оптимизации в соответствии с вариантом, (см. таблицу 5). Проверить работу реализованного метода на квадратичной функции (функция вида ) и функции Розенброка (функция вида ).
Содержание отчета
  1. Титульный лист.
  2. Задание.
  3. Уравнение функции, подлежащей минимизации.
  4. Аналитическое выражение градиента.
  5. График поверхности минимизируемой функции
  6. Графики линий уровня функции с указанными на них траекториями минимизации всеми методами первого и второго порядка.
  7. Таблица результатов минимизации функции вышеперечисленными методами.
  8. Выводы о траекториях минимизации полученными различными методами.
  9. Текст программы реализующей один из методов оптимизации.
  10. Результаты оптимизации квадратичной функции и функции Розенброка реализованным методом.
  11. Для сравнения на линиях уровня квадратичной функции и функции Розенброка указать траектории оптимизации, полученные с помощью собственной программы и с помощью предложенной программы.
Контрольные вопросы
  1. Математическая модель задачи безусловной оптимизации.
  2. Аффинная модель функции многих переменных
  3. Квадратичная модель функции многих переменных.
  4. Метод Коши.
  5. Метод Флетчера-Ривса.
  6. Метод Полака-Рибьера.
  7. Методы DFP и BFGS.
  8. Методы Ньютона, Ньютона-Рафсона, Марквардта.
  9. Методы нахождения шага: метод первого приемлемого значения, квадратичная интерполяция, кубическая интерполяция.
  10. Методы нахождения градиента: численный расчет градиента, вычисление градиента с помощью метода быстрого дифференцирования.
Варианты задач

Задача №1

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

Функция имеет вид: .

Данные для задачи представлены в таблице 1.

Задача №2

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

Данные для задачи представлены в таблице 2.

Задача №3

1-ое тело движется по траектории вида: , 2-ое по траектории вида: . Найти наименьшее расстояние между траекториями движения тел. Т.е. необходимо решить задачу:

найти min

Данные для задачи приведены в таблице 3.

Задача №4

Эллиптический параболоид и плоскость пересекаются в точке . Определить будет ли данная точка точкой минимума этого параболоида:

.

Данные для задачи приведены в таблице 4.

Таблица 1

a b a b
1 100 1 11 50 1
2 90 2 12 60 2
3 110 3 13 171 6
4 120 1 14 160 2
5 80 4 15 90 5
6 90 2 16 110 1
7 100 3 17 80 2
8 150 4 18 95 3
9 145 5 19 100 4
10 75 1 20 115 2
Таблица 2
a b a b
1 1 2 11 3 1
2 1 3 12 3 2
3
1 4 13 3 3
4 1 5 14 3 4
5 1 6 15 3 5
6 2 1 16 4 1
7 2 2 17 4 2
8 2 3 18 4 3
9 2 4 19 4 4
10 2 5 20 5 1
Таблица 3
а b а b
1 4 3 11 3 17
2 2 5 12 20
-6
3 6 -4 13 1 3
4 6 12 14 4 2
5 -5 3 15 11 2
6 0 5 16 4 3
7 -3 -6 17 2 5
8 8 8 18 6 -4
9 5 5 19 0 1
10 4 6 20 6 12
Таблица 4
p q p q
1 3 1 11 6 7
2 4 0 12 23 -8
3 8 -5 13 3 5
4 3 14 14 2 -9
5 -8 5 15 12 2
6 0 5 16 18 2
7 -3 -2 17 5 4
8 5 8 18 7 -1
9 8 5 19 9 3
10 -4 6 20 6 0
Таблица 5
Метод поиска направления Метод поиска шага
1 Метод Коши Метод квадратичной интерполяции
2 Метод Флетчера-Ривса Метод квадратичной интерполяции
3 Метод Полака-Рибьера Метод квадратичной интерполяции
4 Метод DFP Метод квадратичной интерполяции
5 Метод BFGS Метод квадратичной интерполяции
6 Метод Ньютона-Рафсона Метод квадратичной интерполяции
7 Метод Марквардта
8 Метод Коши Метод кубической интерполяции
9 Метод Флетчера-Ривса Метод кубической интерполяции
10 Метод Полака-Рибьера Метод кубической интерполяции
11 Метод DFP Метод кубической интерполяции
12 Метод BFGS Метод кубической интерполяции
13 Метод Ньютона-Рафсона Метод кубической интерполяции
14 Метод Коши Метод первого приемлемого значения
15 Метод Флетчера-Ривса Метод первого приемлемого значения
16 Метод Полака-Рибьера Метод первого приемлемого значения
17 Метод DFP Метод первого приемлемого значения
18 Метод BFGS Метод первого приемлемого значения
19 Метод Ньютона-Рафсона Метод первого приемлемого значения
Краткая теория
    1. Постановка задачи
Общая задача нелинейного программирования без ограничений сводится к следующей:

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

Независимо от метода используют следующие условия останова:

- Достигнута заданная точность градиента: , где - малое положительное число.

- Проведено заданное количество итераций: , где - заданное количество итераций.

- Изменение значения функции и изменение вектора координат слишком мало: и , где - малое положительное число.

    1. Методы первого порядка
4.2.1 Градиентные методы

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

Шаг 1. Проверка соблюдения условия остановки. Если условие выполняется, то вычисления прекратить и взять в качестве искомого решения, иначе перейти к Шагу 2.

Шаг 2. Расчет направления поиска .

Шаг 3. Расчет длины шага , обеспечивающее выполнение неравенства: .

Шаг 4. Пересчет оценки решения. Положить . Положить . Перейти на Шаг 1.

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

(4.1)

Метод Коши (метод наискорейшего спуска)

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

(4.2)

в дает следующую формулу перехода из в :

(4.3)

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

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

Метод Флетчера-Ривза

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

Ниже приводятся операции этого алгоритма:

Шаг 1. В вычисляется

.

Шаг 2. На k-м шаге с помощью одномерного поиска в направлении , находим минимум . Это определяет точку .

Шаг 3. Вычисляются и .

Шаг 4. Направление определяется из соотношения

(4.4)

После (n+1) итерации (k=n) процедура циклически повторяется с заменой на .

Шаг 5. Алгоритм заканчивается, когда , где - произвольная константа.

Метод Полака-Рибьера

Метод Полака-Рибьера является разновидностью метода Флетчера-Ривза. Ниже приводятся операции этого алгоритма:

Шаг 1. В вычисляется

.

Шаг 2. На k-м шаге с помощью одномерного поиска в направлении , находим минимум . Это определяет точку .

Шаг 3. Вычисляются и .

Шаг 4. Направление определяется из соотношения

(4.5)

После (n+1) итерации (k=n) процедура циклически повторяется с заменой на .

Шаг 5. Алгоритм заканчивается, когда , где - произвольная константа.

4.2.2 Квазиньютоновские методы (методы переменной метрики)

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

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

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

, (4.6)

где матрица является аппроксимацией матрицы Гессе.

Квадратичная модель приводит к линейной модели для градиента.

(4.7)

Направление движения из в находят из уравнения:

(4.8)

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

Шаг 1. Расчет матрицы .

Шаг 2. Расчет градиента в текущей точке.

Шаг 3. Расчет направления

Шаг 4. Расчет шага.

Шаг 5. Расчет новой точки .

Шаг 6. Пересчет матрицы .

Шаг 7. Проверка критерия останова. Если не выполняется, то положить и перейти на Шаг 2.

Матрица должна обладать двумя свойствами:

  1. Симметричность.
  2. Положительная определенность.
Матрицу можно искать из условия линейной интерполяции для квадратичной модели.

(4.9)

Если , , тогда соотношение секущих для оптимизации будет иметь вид

(4.10)

Способы пересчета породили ряд методов, которые называются квазиньютоновские методы.

Метод BFGS

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

(4.11)

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

Метод DFP

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

(4.12)

4.3. Методы второго порядка

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

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

(4.13)

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

Направление поиска находится из следующего соотношения

, (4.14)

где - остаточный член разложения в ряд Тейлора до второго порядка.

Способы учета матрицы породили различные методы оптимизации второго порядка.

4.3.1. Метод Ньютона

В методе Ньютона остаточный член отбрасывается, и направление вычисляется по формуле

. (4.15)

Необходимым условием вычисления направления по формуле (4.15) является положительная определенность матрицы . Если это условие не выполняется, то направление находится по формуле

. (4.16)

Пересчет следующей точки производится следующим образом:

(4.17)

Алгоритм метода Ньютона состоит из следующих шагов:

Шаг 1. Задать начальную точку , .

Шаг 2. Вычислить градиент в текущей точке .

Шаг 3. Вычислить матрицу Гессе .

Шаг 4. Вычислить матрицу .

Шаг 5. Проверить выполнение условия

а) если , то перейти к шагу 6

б) если нет, то перейти к шагу 7, вычислив как .

Шаг 6. Расчет направления , . Переход на шаг 8.

Шаг 7. Поиск шага из условия минимизации функции

Шаг 8. Расчет новой точки .

Шаг 9. Проверка критерия останова. Если не выполняется, то положить и перейти на Шаг 2. 4.3.2. Метод Ньютона-Рафсона

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

Алгоритм метода Ньютона-Рафсона состоит из следующих шагов:

Шаг 1. Задать начальную точку , .

Шаг 2. Вычислить градиент в текущей точке .

Шаг 3. Вычислить матрицу Гессе .

Шаг 4. Вычислить матрицу .

Шаг 5. Проверить выполнение условия

а) если , то перейти к шагу 6

б) если нет, то перейти к шагу 7, вычислив как .

Шаг 6. Расчет направления .

Шаг 7. Поиск шага из условия минимизации функции

Шаг 8. Расчет новой точки .

Шаг 9. Проверка критерия останова. Если не выполняется, то положить и перейти на Шаг 2.

4.3.3. Метод Марквардта

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

- параметр регуляризации,

- единичная матрица.

Итерационная формула имеет вид:

(4.18)

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

Пересчет осуществляется по следующим правилам: если , то ; в противном случае .

Алгоритм метода Марквардта состоит из следующих шагов:

Шаг 1. Задать начальную точку , , .

Шаг 2. Вычислить градиент в текущей точке .

Шаг 3. Вычислить матрицу Гессе .

Шаг 4. Вычислить матрицу .

Шаг 5. Вычислить матрицу .

Шаг 6. Вычислить

Шаг 7. Расчет новой точки .

Шаг 8. Проверить выполнение условия :

а) если неравенство выполняется, то перейти к шагу 9

б) если нет, то перейти к шагу 10.

Шаг 9.. Переход на шаг 11.

Шаг 10. . Переход на шаг 4.

Шаг 11. Проверка критерия останова. Если не выполняется, то положить и перейти на Шаг 2.

4.4. Методы поиска минимума для функции одной переменной

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

4.4.1. Квадратичная интерполяция

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

(4.19)

где A, B и C определяются из уравнений:

(4.20)

После преобразований этих уравнений получаем

(4.21)

будет иметь минимум в точке , если A>0. Следовательно, можно аппроксимировать точку минимума функции значением

(4.22)

4.4.2. Метод первого приемлемого значения

Метод первого приемлемого значения отличается от квадратичной интерполяции тем, что полином строится исходя из значений в двух точка и и значения производной в одной из этих точек. Тогда значения коэффициентов полинома (4.13) определяются из соотношений

(4.23)

Получаем следующие значения для коэффициентов полинома:

(4.24)

(4.25)

(4.26)

4.4.3. Кубическая интерполяция

Предполагаем, что известны следующие значения:

(4.27)

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

(4.28)

который будет аппроксимировать функцию . Если , то уравнения, определяющие a, b, c и d выглядят так:

(4.29)

Эти уравнения имеют следующее решение:

(4.30)

В более общем случае (для любых значений и решение системы имеет следующий вид:

(4.31)

Решение уравнения определяет стационарную точку кубического полинома.

4.5. Методы расчета градиента

4.5.1. Численный расчет градиента

Метод численного вычисления градиента основан на использовании определения производной: .

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

. (4.32)

Значение выбирается в каждом случае индивидуально и зависит от вида функции .

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

4.5.2. Расчет градиента с помощью метода быстрого дифференцирования

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

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

(4.33)

представлен на рис 4.1.

Рис. 4.1. Ориентированный граф для вычисления функции (4.33).

Вычисление значения для каждой вершины графа производится по следующей формуле:

. (4.34)

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

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

Основной инструмент при построении двойственного функционирования - формула для дифференцирования «двухслойной» сложной функции нескольких переменных:

. (4.35)

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

, (4.36)

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

Библиографический список

  1. Д. Химмельблау Прикладное нелинейное программирование. – М.:Мир, 1975. – 534 с.
  2. Г. Рейклейтис, А. Рейвиндран, К. Рэгсдел Оптимизация в технике: В 2-х книгах. Пер. с англ. - М.:Мир 1986 г. 345 с., 320 с.
  3. М. Мину Математическое программирование. Теория и алгоритмы. М.:Наука. Гл. ред. физ.-мат. лит., 1990 г. 488 с.
  4. Б. Банди Методы оптимизации. Вводный курс: Пер. с англ. – М.:Радио и связь, 1988, - 128 с.
  5. А.В. Пантелеев, Т.А. Летова Методы оптимизации в примерах и задачах. Учебное пособие. М.: Высшая школа, 2002 г., 544 с.
страница 1

Смотрите также:

Лабораторная работа №3 "Методы оптимизации первого и второго порядков" 242.83kb. 1 стр.

Если в десятичной записи обоих чисел использованы различные цифры и каждая цифра первого числа является делителем второго, а каждая цифра второго числа является делителем первого 43.55kb. 1 стр.

Лабораторная работа 01 Изучение электростатического поля Москва 2005 г. Лабораторная работа №01 64.11kb. 1 стр.

moglobi.ru

Лабораторная работа ’ 11 Оптимизация и настройка Windows XP Цель- получение практических навыков по оптими

Работа добавлена на сайт samzan.ru: 2015-12-26

Лабораторная работа № 11

Оптимизация и настройка Windows XP

Цель: получение практических навыков по оптимизации WINDOWS XP.

Теоретические сведения

  1.  Оптимизация WINDOWS
  1.  Удаление лишних папок.

Для уменьшения размера, занимаемого Windows XP, удалить папку %SystemRoot%\Driver Cache\i386\. Отключить режим System Restore, удалив тем самым информацию из папки System Volume Information. Удалить папку %SystemRoot%\system32\dllcache\. По умолчанию размер этой папки - 400 Мб. Он задается в реестре параметром SFCQuota (0xFFFFFFFF), находящимся в ключе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon/. С помощью команды sfc: sfc /cachesize=0 его можно сократить до нуля (или до любого другого желаемого значения).

  1.  Настройка BIOS.

Значение параметра Bank 0/1, 2/3, 4/5 DRAM timing, по умолчанию обычно равное 10ns, изменить на 8ns, Normal, Medium, Fast или Turbo - в зависимости от модели материнской платы. 10ns - самый медленный режим, Turbo - самый скоростной. Но помните: чем выше скорость, тем ниже стабильность работы.

  1.  Эффекты.

     

Некоторые настройки выполняются на вкладке Оформление (Appearance) в свойствах монитора рис 1 а. Параметры, доступ к которым открывается кнопкой Эффекты (Effects), позволяют настроить переходы в меню, тени и шрифт, включая новую технологию улучшения читаемости шрифта - Microsoft ClearType.

Дальнейшая настройка производительности графического интерфейса выполняется в окне Свойства системы рис.1 б (System Properties), на вкладке Дополнительно (Advanced). Нажав кнопку Параметры (Settings) в разделе Производительность (Performance), можно выбрать максимальную производительность, максимальное качество изображения или средние параметры.

   

Перейдя к вкладке Дополнительно (Advanced) в окне Параметры быстродействия (Performance Options) рис. 2, убедитесь, что распределение ресурсов процессора и памяти ориентировано на оптимизацию работы программ. Если компьютер является сервером, нужно указать приоритет фоновых служб и кэша. Здесь же выбирается размер и местоположение файла подкачки. Но обычно эти параметры Windows XP прекрасно выбирает сама.

  1.  Дефрагментация жесткого диска.

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

Отключение Dr.Watson'a - отладчика, запускаемого по умолчанию при каждом сбое в работе приложений. Чтобы отключить этого "доктора", нужно в реестре найти ключ HKEY_LOCAL_MACHINE \SOFTWARE \Microsoft \Windows NT \CurrentVersion \AeDebug и изменить в нем значение параметра Auto на 0.

Изменить значение ключа MenuShowDelay, находящегося по адресу HKEY_CURRENT_USER \ControlPanel \Desktop. В случае установки для этого параметра значения 0 меню будет появляться без задержки.

Изменить ключ MinAnimate, включающий анимацию при сворачивании и разворачивании окон. Он находится по адресу HKEY_CURRENT_USER \ControlPanel \Desktop \WindowsMetrics. Если значение этого параметра 1 - анимация включена, 0 - выключена. Если же этого ключа в реестре нет, создайте его (тип - String).

Удаление скрытых компонентов.

Открыть системную папку %SystemRoot%\Inf, найти в ней файл sysoc.inf и удалить во всех строках слово HIDE. Главное при этом - сохранить формат файла. То есть следует удалять только HIDE, оставляя запятые до и после этого слова. После этого в Add/Remove Windows Components значительно более длинный список, чем тот, что был там прежде.

  1.  Оптимизация с помощью ключей реестра.

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

Несколько ускорить работу может отключение неиспользуемой подсистемы POSIX. Чтобы не возиться с удалением файлов и с отключением файловой защиты Windows XP откройте [HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \ControlSessionManager \SubSystems] и удалите строки Optional и Posix.

Задания на выполнение лабораторной работы

№ варианта

Задание

1

Удалить папку %SystemRoot%\Driver Cache\i386\. Отключить режим System Restore.

2

Удалить папку %SystemRoot%\system32\dllcache\.

3

В BIOS начение параметра Bank 0/1, 2/3, 4/5 DRAM timing изменить на 8ns.

4

В BIOS начение параметра Bank 0/1, 2/3, 4/5 DRAM timing изменить на Normal.

5

В BIOS начение параметра Bank 0/1, 2/3, 4/5 DRAM timing изменить на Medium.

6

В BIOS начение параметра Bank 0/1, 2/3, 4/5 DRAM timing изменить на Fast.

7

В BIOS начение параметра Bank 0/1, 2/3, 4/5 DRAM timing изменить на Turbo.

8

Убрать эффекты рабочего стола.

9

Произвести дефрагментацию жесткого диска.

10

Отключить Dr.Watson'a.

11

Выключить анимацию при сворачивании окна.

12

Удалить скрытые компоненты.

13

Запретить записывать в файл подкачки коды (драйверы, exe-файлы), всегда оставляя их в физической памяти.

14

Отключить Автоматическое обновление (Automatic Updates).

15

Обозреватель сети (Computer Browser).

16

Журнал событий (Event Log).

17

Спулер печати (Print Spooler).

18

Планировщик заданий (Task Scheduler).

19

Uninterruptible power supply.

20

Сократить размер папки %SystemRoot%\system32\dllcache\.

21

Отключить восстановление системных файлов

22

Удалить файл подкачки при выходе из Windows.

23

Отключить графическое ускорение

24

Изменить меню АВТОЗАГРУЗКА

25

Реализовать разделение всех настроек для пользователей системы

26

Включить восстановление системных файлов

27

Восстанавить файл подкачки при входе в Windows.

28

В BIOS начение параметра Bank 0/1, 2/3, 4/5 DRAM timing изменить на 1ns.

29

Включить Автоматическое обновление (Automatic Updates)

30

Разрешить записывать в файл подкачки коды (драйверы, exe-файлы), всегда оставляя их в физической памяти.

Контрольные вопросы:

1. Что такое и для чего необходима оптимизиация?

2. Как происходит и для чего необходима дефрагментация дисков?

samzan.ru

Лабораторная работа 7. Исследование методов безусловной оптимизации первого порядка

7.1 Требования задания

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

Методы многомерной оптимизации:

М1 - метод Даниела;

М2 - метод Флетчера - Ривса;

М3 - метод Полака - Рибьера;

М4 - метод Дэвидона - Флетчера - Пауэлла;

М5 - метод Бройдена - Флетчера - Шенно;

М6 - метод Бройдена - Флетчера - Гольдфарба - Шенно.

Таблица тестовых функций

Функция y(x)

Начальная точка (x1)t

Значение минимума (x*)t

(27)

-12x2+ 4x12+ 4x22- 4x1x2

( 1 ; 0 )

( 1 ; 2)

(28)

(x1- 2)4+ (x1- 2x2)2

( 0 ; 3 )

( 2 ; 1)

(29)

(x1x2x3- 1)2+ 5[x3(x1+x2) - 2]2+ 2(x1+x2+x3-3)2

( -5 ; 4 ; 2 )

( 1 ; 1 ; 1)

(30)

4x12+ 3x22- 4x1x22+x1

( 0 ; 0 )

( -1/8 ; ‑3/80000000)

(31)

(x12+x2- 11)2+ (x1+x22- 7)2

( 0 ; 0 )

( 3 ; 2)

(32)

100(x2-x13)2+ (1 –x1)2

( -1.2 ; 1)

( 1 ; 1)

(33)

[1.5-x1(1-x2)]2+ [2.25-x1(1-x22)]2+ [2.625-x1(1-x23)]2

( 0 ; 0)

( 3 ; 0.5)

(34)

(x1+ 10x2)2+ 5(x3-x4)2+ (x2- 2x3)4+ 10(x1-x4)4

(матрица Гессе в точке х* сингулярна)

(-3 ;-1;0;1)

( 0 ; 0 ; 0 ;0 )

(35)

100(x2 -x12)2 + (1-x1)2 + 90(x4-x32)2 + (1-x3)3 + 10.1[(x2-1)2+(x4-1)2]+19.8(x2-1)(x4-1)

(функция имеет несколько локальных минимумов)

(-3;-1;-3;-1)

( 1 ; 1 ; 1; 1 )

Варианты задания

Вариант

1

2

3

4

5

6

7

8

Метод

М1

М2

М3

М4

М5

М6

М2

М4

Тестовая функция

(21)

(24)

(22)

(28)

(26)

(33)

(27)

(32)

(23)

(34)

(21)

(28), (34)

(19)

(29)

(21)

(29)

7.2 Контрольные вопросы

1. Выполните два шага аналитического решения задачи Вашего варианта задания.

2. Определить характер матрицы Гессе функции y(x) = (x2-x1)2+ (1-x1)2в точке минимумаx* = (1,1)t. Используя матрицу Гессе найти направление, сопряженное кp= (1,0)t.

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

4. Являются ли направления p1= (0,1)tиp2= (1,0)tлинейно независимыми? Ортогональными? Сопряженными?

5. Дана функция y(x) =x12+x22+x32и точкаxk= (1,2,3)t. Определите точкуxk+1 методом Дэниела.

6. Используя метод сопряженных градиентов, найти точку xk+1для функцииy(x) =x12+ 2x1x2+x22иxk= (1,1,1)t.

7.3 Содержание отчета

1. Цель работы и требования задания.

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

  2. Блок-схема программы с пояснением основных ее частей.

  3. Спецификация программы, раскрывающая смысл входных и выходных данных, основных переменных и функций.

  4. Текст программы с детальными комментариями ведущих операторов программы.

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

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

  7. Ответы на контрольные вопросы.

  8. Выводы по работе.

studfiles.net

Лабораторная работа № подбор параметра. Оптимизация

Похожие работы

Лабораторная работа № подбор параметра. Оптимизация - страница №1/1

Лабораторная работа № 7. ПОДБОР ПАРАМЕТРА. ОПТИМИЗАЦИЯ

1.Подбор параметра

Пусть имеется некоторая функция одного аргумента, которую обозначим f(x). Предположим, что значение аргумента x мы можем назначать по своему усмотрению. Задача состоит в том, чтобы установить такое значение аргумента x, при котором функция f(x) примет заданное значение c. Мы пришли к известной математической задаче решения функционального уравнения f(x) = с. Пусть f(x) = sin(x) – cos(2x), c = 0, и нам нужно найти корень уравнения на заданном отрезке [0; 2].

1.1.Выполнение задания

  1. Запустите приложение Microsoft Excel и сохраните файл Книга1 в своей рабочей папке под именем Параметр.xlsx.
  2. Для начала нужно построить график функции на заданном отрезке, чтобы убедиться, что корень на этом отрезке существует. Подготовьте таблицу из двух строк, в верхней из которых будут записаны значения аргумента x на отрезке [0; 2] с шагом 0,2 (вспомните, как создать арифметическую прогрессию), а в нижней – значения функции sin(x) – cos(2x) (см. рис. 1).
Рис. . Таблица функции sin(x) – cos(2x)
  1. Мы видим, что в точке 0,4 значение функции отрицательно, а в точке 0,6 – положительно. Значит, где-то на этом отрезке находиться корень уравнения. Постройте график функции. У вас должен получиться график, соответствующий рис. 2.
Рис. . График функции sin(x) – cos(2x)
  1. Мы видим, что график функции пересекает ось x примерно в точке 0,5. Это значение можно принять как начальное приближение при поиске корня уравнения. Запишите в ячейки, например, A4:A5 подписи таблицы x и sin(x) – cos(2x), а в ячейки B4:B5 – значение 0,5 и формулу для вычисления функции.
  2. Поставьте курсор в ячейку B5 и выберите пункт Подбор параметра… из выпадающего списка Анализ «что-если», который находится в группе Работа с данными на вкладке Данные. Вы увидите диалоговое окно для ввода параметров инструмента Подбор параметра… (см. рис. 3). В поле Установить в ячейке уже должна находиться ссылка на выделенную ячейку с формулой.
Рис. . Диалоговое окно «Подбор параметра»
  1. В поле Значение введите величину, которой должно быть равно значение в целевой ячейке в результате подбора. В нашем случае это значение 0.
  2. В поле Изменяя значение ячейки введите ссылку на ячейку В4 (для этого достаточно просто щелкнуть по этой ячейке), влияющую на результат вычислений по формуле.
  3. Нажмите кнопку ОК. Появится диалоговое окно Результат подбора параметра (см. рис. 4). Нажмите кнопку ОК. Подобранное значение будет записано в регулируемую ячейку В4.
Рис. . Диалоговое окно «Результат подбора параметра»
  1. Если выполнение итерационного процесса затянулось, нажмите в диалоговом окне Результат подбора параметра кнопку Пауза или Отмена. После нажатия кнопки Пауза можно выполнять процесс подбора по шагам. Для этого используется кнопка Шаг. Для возобновления автоматического процесса подбора следует нажать кнопку Продолжить.
  2. Результат подбора параметра должен соответствовать рис. 5. Попробуйте добиться большей точности вычисления корня, изменяя начальное значение в ячейке В4.
    Рис. . Результат подбора параметра
  3. Решите функциональное уравнение, заданное вашим вариантом в таблице вариантов:
Номер варианта Левая часть уравнения f (x) = 0 Область поиска решения
1 [2;3]
2 [0;0,85]
3 [0;1]
4 [0;1]
5 0,25x3 – x – 1,2502 [2;3]
6 0,1x2 – x ln x [1;2]
7 3x – 4ln x – 5 [2;4]
8 ex – e–x – 2 [0;1]
9 [0,4;1]
10 [0;0,8]
11 [1;2]
12 sin(ln x) – cos(ln x) + 2ln x [1;3]
13 lnx – x+1,8 [2;3]
14 [1;2]
15 [0,2;1]
16 tg(0,55x + 0,1) – x2 [0;1]
17 [1,2;2]
18 1 + sinx – ln(1 + x) – x [0;1,5]
19 cos(x0,52 + 2) + x [0,5;1]
20 [2;3]
21 ex + ln x – 10x [3;4]
22 3x – 14 + ex – e-x [1;3]
23 2ln2x + 6lnx – 5 [1;3]
24 2x sinx – cosx [0,4;1]
25 [1;2]
26 [0;0,9]
27 sinx2 + cosx2 – 10x [0;1]
28 [-1;0]
29 [0;0,9]
30 [1;2]
  1. Покажите результаты работы преподавателю.

1.2.Вопросы для контроля

      1. Какие задачи решаются подбором параметра?
      2. Как осуществить подбор параметра?

2.Оптимизация

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

2.1.Математическая формулировка

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

Найти значения переменных x1, x2, …, xn, такие, что целевая функция f(x1, x2, …, xn) примет заданное значение, или минимальное значение, или максимальное значение. При этом могут быть заданы ограничения вида g(x1, x2, …, xn), принимающие заданные значения, или значения меньшие или равные заданным, или значения большие или равные заданным.

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

2.2.Выполнение задания

Продемонстрируем использование Решателя на примере, описанном в журнале «Компьютер Пресс» (№ 7, 1997) в статье В. Очкова «Как я продавал программу (компьютерный этюд)», в которой автор рассказал о применении Решателя для оптимизации своего заработка. Суть задачи состоит в том, что автор продал некоторую программу лакокрасочному предприятию за 14 млн. руб. Наличными деньгами предприятие не располагало, но было готово расплатиться в пределах этой суммы своей продукцией – краской. Краска выпускалась в двух видах тары – больших и малых банках (барабанах), ёмкость которых соответственно составляла 55 и 15 л, а стоимость пустых барабанов – 30 и 24 тыс. руб. Литр краски стоил 14600 руб. Автор статьи был заинтересован в том, чтобы, не выходя за пределы договорной суммы, получить от предприятия как можно больше краски. При этом имеется возможность лишь указать количество больших и малых барабанов с краской, но нельзя взять краску в разлив. Это типичная оптимизационная задача.
  1. Создайте новый файл приложения Microsoft Excel и его в своей рабочей папке под именем Оптимизация.xlsx.
  2. Создайте таблицу, соответствующую рис. 6. При этом в ячейки B6:B7 и B10:B12 запишите очевидные расчетные формулы.
  3. Сначала подсчитайте, сколько краски можно получить, если всю её взять в малых барабанах. Вот очевидная формула, которая позволяет подсчитать количество малых барабанов, которое можно получить в пределах договорной суммы: 14000000/243000 = 57,6. Итак, можно получить 57 малых барабанов.
  4. Введите в ячейку B8 вашей таблицы значение 57 и нажмите клавишу Enter. Если во ввёденных формулах вы не допустили ошибок, то увидите, что при таком решении всего будет получено 855 л краски, а у покупателя программы останутся не выбранными 149000 руб.
Рис. . Исходные данные для оптимизации
  1. Заслуживает внимания другое решение – взять краску в больших барабанах, а остаток выбрать малыми барабанами. Количество больших барабанов, которое можно получить, очевидно, равно 14000000/833000 = 16,8.
  2. Введите в ячейку B8 таблицы значение 0, а в ячейку B9 – значение 16. При этом вы увидите, что будет получено 880 л краски, а остаток денег составит 672000 руб. Последнее решение по количеству полученной краски уже лучше, чем предыдущее. Кроме того, за счет остатка денег можно взять еще некоторое количество малых барабанов краски, которое равно 672000/243000 = 2,8.
  3. Введите в ячейку B8 значение 2. Окончательный результат принятого решения позволяет получить 910 л краски, а остаток денег составит 186000 руб. Итак, во втором варианте будет получено на 55 л краски больше, чем в первом варианте. Возникает естественный вопрос: существует ли решение, при котором можно получить еще больше краски? Как вы увидите, такое решение действительно существует. Для решения задачи поиска максимума полученной краски можно применить Решатель. Ячейки В8 и B9 будут регулируемые ячейками, а ячейка B10 – это ячейка с целевой функцией.
  4. Проверьте наличие кнопки Solver в группе Analysis на вкладке Данные. Если такой кнопки нет, то требуется установить соответствующий инструмент. Для этого нажмите кнопку Office, затем Параметры Excel, выберите раздел Надстройки. В выпадающем списке Управление выберите Надстройки Excel и нажмите кнопку Перейти… В появившемся диалоговом окне установите флажок для надстройки Solver Add-in и нажмите кнопку ОК. Теперь кнопка Solver должна появиться.
  5. Установите курсор в ячейку B10 с целевой функцией и нажмите кнопку Solver, которая находится в группе Analysis на вкладке Данные. Появится окно Solver Parameters (см. рис. 7), в поле Set Target Cell которого уже должна быть абсолютная ссылка на ячейку B10. Если же этой ссылки там не оказалось, то её следует туда поместить. Для этого надо щелкнуть мышью в поле Set Target Cell, чтобы установить там курсор. Затем нужно щелкнуть по ячейке B10.
Рис. . Диалоговое окно «Solver Parameters»
  1. Установите переключатель Equal To на значение Max, чтобы найти максимум целевой функции.
  2. Поместите в поле By Changing Cells диапазон регулируемых ячеек. Для этого поместите курсор в этом поле и выделите регулируемые ячейки (в рассматриваемом примере – это ячейки B8 и B9). Можно нажать кнопку Guess для автоматического поиска ячеек, влияющих на формулу, ссылка на которую дана в поле Set Target Cell.
  3. Добавьте ограничения, которые имеют место в рассматриваемом примере. Их два. Первое состоит в том, что сумма истраченных денег не должна превышать 14000000 руб. Нажмите кнопку Add. В появившемся окне Add constraint (см. рис. 8) в поле Cell Reference поместите ссылку на ячейку B11, в которой записана формула вычисления размера истраченной суммы.
  4. В поле Constraint поместите ссылку на ячейку B2, в которой указана сумма договора.
  5. Выберите нужный знак отношения между полями Cell Reference и Constraint. В результате этих действий содержание полей окна Add constraint должно соответствовать рис. 8. Нажмите кнопку ОК.
Рис. . Добавление ограничения на сумму истраченных денег
  1. Снова нажмите кнопку Add, чтобы ввести второе ограничение, которое состоит в том, что количество малых барабанов (ячейка B8) и количество больших барабанов (ячейка B9) могут принимать только целочисленные значения.
  2. В окне Add constraint введите в поле Cell Reference диапазон B8:B9.
  3. В выпадающем списке, который находится между полями Cell Reference и Constraint, выберите значение int. Окно Add constraint должно выглядеть, как показано на рис. 9.
  4. Нажмите кнопку ОК, чтобы закончить ввод ограничения. После этого содержание полей окна Solver Parameters должно соответствовать рис. 10.
Рис. . Добавление ограничения о целочисленности ячеек
  1. По умолчанию поиск экстремума целевой функции выполняется с погрешностью 5% – это обычная инженерная погрешность. Для рассматриваемого примера эта погрешность слишком велика, так как соответствует 910·0,05 = 45,5 л краски, что намного больше емкости малого барабана. Погрешность поиска максимума в рассматриваемом примере не должна быть больше емкости малого барабана, которая составляет 15/910·100 = 1,65% общего объема краски.
  2. Для повышения требуемой точности поиска решения нажмите кнопку Options окна Solver Parameters. В появившемся окне Solver Options (см. рис. 11) в поле Tolerance замените значение 5 на 1,5.
Рис. . Параметры поиска решений для задачи о краске
  1. Установите в этом же окне флажок Assume Non-Negative, указав тем самым, что искомые количества барабанов краски не могут принимать отрицательные значения.
  2. Закройте окно Solver Option, нажав кнопку ОК. Подготовка к поиску решения закончена.
  3. Чтобы начать поиск решения, нажмите кнопку Solve окна Solver Parameters. После окончания процесса поиска появится окно Solver Results. В этом окне включите переключатель Keep Solver Solution и нажмите кнопку ОК.
  4. Обратите внимание на значения регулируемых ячеек (см. рис. 12), которые они приобрели после окончания поиска максимума целевой функции. Проанализируйте полученное решение – теперь получено 915 л краски, то есть на 5 л больше, чем давал предыдущий вариант решения. Итак, наибольшее количество краски будет получено, если взять 15 больших и 6 малых барабанов с краской. И при этом у заказчика будет оставлено 47000 руб. И самое главное, теперь известно, что это лучшее решение.
  5. Покажите результаты работы преподавателю.
  6. Решите задачу минимизации суммы денег, оставленных у заказчика (ответ – 11000 руб., если взять 6 больших и 37 малых барабанов).
  7. Покажите результаты работы преподавателю.
  8. Закройте приложение Microsoft Excel.
Рис. . Настройка параметров решателя
Рис. . Результат поиска максимума объема полученной краски

2.3.Вопросы для контроля

      1. Какие задачи могут быть решены с помощью Решателя?
      2. Как запустить Решатель?
      3. Как добавить необходимый инструмент?
      4. Как задаётся ячейка с целевой функцией?
      5. Как задать регулируемые ячейки?
      6. Как установить допустимую ошибку поиска?
      7. Как заставить Решатель искать только положительные значения?
      8. Как заставить Решатель искать только целочисленные значения?

shikardos.ru

Лабораторная работа № 6 Оптимизация нелинейных систем (краткие теоретические сведения)

5

Исследование САУ с помощью среды Matlab © К. Поляков, 2004-2005

Лабораторная работа № 6

Оптимизация нелинейных систем

(краткие теоретические сведения)

Эффект насыщения

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

Нелинейности такого типа называются «насыщением»:

Они описываются уравнением

,

где – сигнал на входе звена, – сигнал на выходе (с учетом насыщения), и – допустимые пределы.

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

Компенсация эффекта насыщения (anti-windup)

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

  1. Условное интегрирование: если сигнал управления достигает предельного значения, интегратор отключается и интегрирование останавливается

  2. Техникаanti-windup: из входа интегратора вычитается сигнал, который поступает с блока компенсации насыщения. Именно этот вариант мы будем исследовать.

Пусть интегратор включается параллельно остальной части регулятора, т.е., имеет вид

,

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

Блок компенсации насыщения генерирует сигнал

,

где – сигнал на выходе регулятора, а – сигнал с учетом насыщения:

,

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

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

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

,

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

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

Пакет NCDBlockset

Пакет NCDBlockset (NonlinearControlDesign) предназначен для настройки параметров нелинейной модели методом численной оптимизации по переходному процессу.

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

Для решения этой задачи в пакете NCDBlockset используются процедуры нелинейной оптимизации с ограничениями из пакета OptimizationToolbox.

Сначала надо перетащить в модель Simulinkблок NCDOutport из группы NCDBlockset и подать на его вход сигнал, который надо «вписать» в заданную область. По умолчанию границы области устанавливаются так, чтобы установившееся значение сигнала было равно единице. Если это не так, на входе блока NCDOutport можно поставить дополнительный усилитель (блок Gain), который изменит масштаб. Например, если установившееся значение равно 10, коэффициент усиления надо сделать равным 0.1, чтобы установившееся значение на входе блока NCDOutport было равно 1.

Двойной щелчок по блоку NCDOutport открывает рабочее окно для подбора параметра.

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

Для того, чтобы разбить полоску на две (сделать более точную границу) надо выделить ее щелчком мыши и щелкнуть по кнопке Split.

Чтобы задать параметры поиска, надо выбрать в этом окне пункт верхнего меню Optimization – Optimization Parameters:

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

В поле Discretizationinterval надо ввести величину шага h (см. рисунок выше). От шага зависит количество интервалов и количество ограничений. Чем меньше шаг, тем больше задается ограничений и медленнее работает процедура поиска. С другой стороны, при очень большом шаге снижается точность. Рекомендуется выбирать этот параметр равным 1-2% от общего времени моделирования.

Перед запуском процедуры оптимизации надо ввести первое приближение для неизвестных параметров в командном окне Matlab:

Kaw = 0.2;

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

textarchive.ru

Лабораторная работа - Оптимизация работы предприятия

Лабораторная работа - Оптимизация работы предприятияДоступные файлы (1):

n1.doc

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

"Уфимский Государственный Нефтяной Технический Университет"

Кафедра «Математические методы в экономике»

Лабораторная работа №5:

«Оптимизация работы предприятия»

по курсу: « Экономико – математическое моделирование»

(вариант 9)

Проверил: доцент кафедры ММ,

к.т.н. Сулейманов И.Н.

Уфа 2009

Введение

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

Математически данную задачу можно сформулировать следующим образом:

при условии

максимизировать .

В качестве критерия оптимальности варианта делового бизнес – плана примем максимум объема продукция в стоимостном выражении ( - цена единицы продукции) или максимум прибыли ( - прибыль от реализации единицы продукции).

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

, где - государственный заказ по выпуску продукция вида .

1. Задача:

Цех может выпускать пять видов продукции П1, П2, П3, П4, П5 без ограничения на количественный выпуск этой продукции. Для изготовления этой продукции цех располагает в течении смены следующими ресурсами:

Нормы расхода ресурсов для производства и цена одной единицы продукции каждого вида заданы следующей ниже таблицей:
Продукция /Ресурс П1 П2 П3 П4 П5
Трудовые ресурсы (чел./ч) 1 2 4 8 6
Полуфабрикаты (кг) 3 6 1 10 4
Станочное оборудование (ст./ч) 6 0 3 1 7
Цена (руб.) 9 10 7 20 15
1. Требуется определить оптимальный план выпуска продукции, соответствующей максимальной стоимости запланированных изделий.

2.Как изменится стоимость выпущенной продукции при увеличении трудовых затрат на 17 чел./час, на 25 чел./час?

3.Войдет ли продукция П1 в план производства при увеличении ее цены на 15 рублей?

2. Ход работы:

Представим исходные данные в матричной форме:

Вид продукции Ресурсы Цена за единицу продукции
1 2 3
Продукция 1 1 3 6 9
Продукция 2 2 6 0 10
Продукция 3 4 1 3 22
Продукция 4 8 10 1 16
Продукция 5 6 4 7 14
Ограничения по ресурсам 24 12 3  

Полученную модель оптимального производственного планирования решим методами линейного программирования.

Вид продукции Ресурсы Оптимальный выпуск Цена за единицу продукции
Трудовые Полуфабрикаты Станочное оборудование
Продукция 1 1 3 6 0 9
Продукция 2 2 6 0 0 10
Продукция 3 4 1 3 0,62 7
Продукция 4 8 10 1 1,14 20
Продукция 5 6 4 7 0 15
Итого 11,59 12,00 3,00    
Ограничения по ресурсам 24 12 3 Доход: 27,10

Проверим, как изменится стоимость выпущенной продукции при увеличении трудовых затрат на 17 чел./час, на 25 чел./час:

Вид продукции Ресурсы Оптимальный выпуск Цена за единицу продукции
Трудовые Полуфабрикаты Станочное оборудование
Продукция 1 1 3 6 0 9
Продукция 2 2 6 0 0 10
Продукция 3 4 1 3 0,62 7
Продукция 4 8 10 1 1,14 20
Продукция 5 6 4 7 0 15
Итого 11,59 12,00 3,00    
Ограничения по ресурсам 41 12 3 Доход: 27,10
Вид продукции Ресурсы Оптимальный выпуск Цена за единицу продукции
Трудовые Полуфабрикаты Станочное оборудование
Продукция 1 1 3 6 0 9
Продукция 2 2 6 0 0 10
Продукция 3 4 1 3 0,62 7
Продукция 4 8 10 1 1,14 20
Продукция 5 6 4 7 0 15
Итого 11,59 12,00 3,00    
Ограничения по ресурсам 49 12 3 Доход: 27,10

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

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

Вид продукции Ресурсы Оптимальный выпуск Цена за единицу продукции
Трудовые Полуфабрикаты Станочное оборудование
Продукция 1 1 3 6 0,5 26
Продукция 2 2 6 0 1,75 10
Продукция 3 4 1 3 0,00 7
Продукция 4 8 10 1 0,00 20
Продукция 5 6 4 7 0 15
Итого 4,00 12,00 3,00    
Ограничения по ресурсам 24 12 3 Доход: 30,50

perviydoc.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта