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

Содержание

Слайд 2

Постановка задачи параметрической оптимизации Параметрическая оптимизация – процедура определения внутренних параметров

Постановка задачи параметрической оптимизации

Параметрическая оптимизация – процедура определения внутренних параметров проектируемого

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

Постановка задачи параметрической оптимизации Формализация задачи оптимизации сводится к её формулированию в виде задачи математического программирования:

Постановка задачи параметрической оптимизации

Формализация задачи оптимизации сводится к её формулированию в

виде задачи математического программирования:

 

Слайд 4

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

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

Слайд 5

Слайд 6

Слайд 7

Слайд 8

Симплекс-метод - предложен Данцигом (1951 г.) Идея состоит в продвижении по

Симплекс-метод - предложен Данцигом (1951 г.)

Идея состоит в продвижении по выпуклому многограннику

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

Алгоритм симплекс-метода Подготовительный этап Приводим задачу ЛП к каноническому виду F=a0,1x1+a0,2x2+...a0,nxn

Алгоритм симплекс-метода

Подготовительный этап
 Приводим задачу ЛП  к каноническому виду
F=a0,1x1+a0,2x2+...a0,nxn +b0 → max
a1,1x1+a1,2x2+...a1,nxn+xn+1=b1
a2,1x1+a2,2x2+...a2,nxn+xn+2=b2
.......................................
am,1x1+am,2x2+...am,nxn+xn+m=bm

если в исходной задаче

необходимо найти минимум - знаки коэффициентов целевой функции F меняются на противоположные a0,n= -a0,n. Знаки коэффициентов ограничивающих условий со знаком "≥" так же меняются на противоположные. В случае если условие содержит знак "≤" - коэффициенты запишутся без изменений. 
Слайд 10

Шаг 0. Составляем симплексную таблицу, соответствующую исходной задаче x1, x2, xn

Шаг 0. Составляем симплексную таблицу, соответствующую исходной задаче

x1, x2, xn - исходные

переменные,
xn+1, xn+2, xn+m - дополнительные переменные (базисные).
Слайд 11

Шаг 1. Проверка на допустимость Проверяем на положительность элементы столбца b,

Шаг 1. Проверка на допустимость

Проверяем на положительность элементы столбца b,

если среди них нет отрицательных то найдено допустимое решение, переходим к шагу 2. 
Если в столбце b имеются отрицательные элементы то выбираем среди них максимальный по модулю - он задает ведущую строку k. В этой строке находим максимальный по модулю отрицательный элемент ak,l - он задает ведущий столбец - l и является ведущим элементом. 
Переменная, соответствующая ведущей строке исключается из базиса, переменная соответствующая ведущему столбцу включается в базис. Пересчитываем симплекс-таблицу согласно правилам.
Если же среди свободных членов есть отрицательные элементы - а в соответствующей строке - нет то условия задачи несовместны и решений у нее нет.
Слайд 12

Шаг 2. Проверка на оптимальность На предыдущем этапе найдено допустимое решение.

Шаг 2. Проверка на оптимальность

На предыдущем этапе найдено допустимое решение.

Проверим его на оптимальность.
Если в строке F (не беря в расчет элемент b0 - текущее значение целевой функции) нет отрицательных, то найдено оптимальное решение.
Если в строке F есть отрицательные элементы то решение требует улучшения. Выбираем среди отрицательных элементов строки F максимальный по модулю (исключая значение функции b0)
a0,l=min{a0,i } l – ведущий столбец
bk/ak,l =min {bi/ai,l } при ai,l>0, bi>0
k – ведущая cтрока.
Элемент ak,l - ведущий (разрешающий).
Слайд 13

Пересчитываем симплекс-таблицу по формулам. Если в новой таблице после перерасчета в

Пересчитываем симплекс-таблицу по формулам.
Если в новой таблице после перерасчета в

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

Правила преобразований симплексной таблицы При составлении новой симплекс-таблицы в ней происходят

Правила преобразований симплексной таблицы

При составлении новой симплекс-таблицы в ней происходят

следующие изменения: 
вместо базисной переменной xk записываем xl; вместо небазисной переменной xl записываем xk.  
ведущий элемент заменяется на обратную величину ak,l'= 1/ak,l
все элементы ведущего столбца (кроме ak,l) умножаются на -1/ak,l
все элементы ведущей строки (кроме ak,l) умножаются на 1/ak,l
оставшиеся элементы симплекс-таблицы преобразуются по формуле ai,j'= ai,j- ai,lx ak,j/ ak,l
Слайд 15

Правила преобразований симплексной таблицы Схему преобразования элементов симплекс-таблицы (кроме ведущей строки

Правила преобразований симплексной таблицы

Схему преобразования элементов симплекс-таблицы (кроме ведущей строки

и ведущего столбца) называют схемой ”прямоугольника”.
Слайд 16

Пример решения задачи линейного программирования симплекс методом Целевая функция: 2x 1+5x2+3x3+8x4

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

Целевая функция:
2x 1+5x2+3x3+8x4 →min
Ограничивающие условия:
3x1+6x2-4x3+x4≤12 4x1-13x2+10x3+5x4≥6 3x1+7x2+x3≥1
Приведем систему

ограничений к каноническому виду:
-2x 1-5x2-3x3-8x4 →max
3x1+6x2-4x3+x4+x5= 12 -4x1+13x2-10x3-5x4+x6= -6 -3x1-7x2-x3+x7= -1
Слайд 17

Формирование исходной симплекс таблицы Пересчитаем симплекс-таблицу:

Формирование исходной симплекс таблицы

Пересчитаем симплекс-таблицу:

Слайд 18

Пересчитаем симплекс-таблицу: Ведущей строкой является X2, а ведущий элемент: 0.313. Пересчитаем симплекс-таблицу:

Пересчитаем симплекс-таблицу:

Ведущей строкой является X2, а ведущий элемент: 0.313. Пересчитаем симплекс-таблицу:

Слайд 19

Решение задачи о назначении (Венгерский метод) Постановка задачи Вводимые понятия: -

Решение задачи о назначении (Венгерский метод)

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

Вводимые понятия:
- Независимые

нули
- Две прямоугольные матрицы называются эквивалентными (C ~ D), если Cij ~Dij  для всех i,j .
Слайд 20

Блок-схема алгоритма венгерского метода

Блок-схема алгоритма венгерского метода

Слайд 21

Составим матрицу задания: Предварительный этап

Составим матрицу задания:

Предварительный этап

Слайд 22

Первая итерация. Первый этап Вторая итерация. Первый этап Первая итерация. Второй этап

Первая итерация. Первый этап

Вторая итерация. Первый этап

Первая итерация. Второй этап