Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции по САПР

.pdf
Скачиваний:
614
Добавлен:
02.05.2014
Размер:
2.16 Mб
Скачать

61

Конспект лекций по САПР

где Х — вектор внутренних параметров; Р — вектор направления поиска;

α — скаляр, определяющий длину шага в направлении Р;

k— номер итерации.

Взависимости от выбора значений α(к) и вектора Р(к) можно получить различные алгоритмы оптимизации. При этом для обеспечения минимизации оптимизируемой целевой функции F(X)

необходимо выполнить условие:

(k )

), P

(k )

)< 0 ,

 

(14.9)

(F (X

 

 

 

вытекающее из разложения функции F(X) в окрестности точки

 

 

 

X = X (k ) +α(k )

P(k ) в ряд Тейлора.

 

Наиболее популярным в классе методов, определяемых выражением (14.8), являются гради-

ентные методы, характеризуемые алгоритмом:

 

 

X (k +1) = X (k ) α(k ) F(X (k )) ,

 

α(k ) > 0 ,

k = 0,1,2,...

(14.10)

Градиент целевой функции F(X) в любой точке Х(к) есть вектор в направлении наибольшего локального увеличения F(X). Следовательно, при поиске минимума нужно двигаться в направлении, противоположном градиенту F(X), поскольку антиградиент F(X) в точке Х(к) направлен в сто-

рону наибольшего уменьшения F(X) по всем переменным Х и ортогонален линии уровня F(X) в точке Х(к).

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

большое число различных модификаций градиентного метода в зависимости от выбора значения

α(к).

Одной из самых распространенных является та, в которой α(к) выбирается из условия минимума F(X) в направлении вектора Р(к) , т.е. из условия

F (X α(k ) F(X (k ) ))=

min

(F(X (k ) )α F (X (k )))

(14.11)

 

α 0

 

 

 

 

Этот вариант градиентного метода называется методом наискорейшего спуска.

Поскольку один шаг в направлении наискорейшего спуска в общем случае не приводит в точку минимума F(X), формула (14.11) должна применяться несколько раз, до тех пор, пока минимум не будет достигнут.

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

В первом методе αопт(k ) , минимизирующее значение F(X) в направлении F(X), вычисляется в

простейшем случае методом последовательных приращений α(к) с вычислением F(X) в каждой

точке Х(к) и проверкой условия

F (X (k +1) )F(X (k ) )> 0 .

При выполнении этого условия производится вычисление нового направления спуска и по-

иск нового значения αопт(k ) . Так как здесь ищется Fмин по α в направлении F(X(к)), то поиск можно ускорить, используя процедуру одномерной оптимизации по а, в частности, процедуру «золотого сечения», основанную на свойствах ряда чисел Фибоначчи.

62Конспект лекций по САПР

14.2.3.Методы оптимизации, использующие вторые производные (методы второго порядка)

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

Минимум функции (14.4.) в направлении ∆Х(к) определяется дифференцированием F(X) по каждой из переменных ∆Х и приравниванием нулю полученных выражений. Это приводит к вы-

ражению:

 

X (k ) = −( 2 F(X (k ) ))1 F(X (k ) ) ,

(14.12)

где ( 2 F(X (k )))1 — матрица, обратная матрице Гессе Н(Х(к)).

Подстановка (14.12) в (14.4) определяет переход из точки Х(к) в точку Х(к+1) по обобщенному

методу Ньютона:

 

X (k +1) = X (k ) ( 2 F(X (k ) ))1 F(X (k ) )

(14.13)

X (k +1) = X (k ) α (k )H 1 (X (k )) F (X (k ))

(14.14)

Можно считать, что в этом алгоритме реализуется градиентный метод с автоматической регулировкой обобщенного шага α (k )H 1 (X (k )). Выбор значений α (k ) производится так же, как и в

градиентном методе.

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

Понятия Q-сопряженности векторов C и B при заданной матрице Q основано на соблюдении условия равенства нулю скалярного произведения:

<C, QB>=0,

где Q – квадратная матрица того же порядка, что и размерность векторов C и B. Алгоритм метода сопряженных градиентов строится следующим образом:

1.В точке X(0) вычисляется градиент целевой функции и определяется первое направление поиска: S (0) = −F(X (0) ) .

2.На любом k-м шаге с помощью одномерного поиска в направлении S(k) находится минимум целевой функции F(X). Это определяет новую точку поиска X(k+1)

3.В новой точке поиска определяется целевая функция F(X(k+1)) и градиент целевой функции

F(X (k +1) ) .

4.Новое направление поиска определяется из соотношения: S (k +1) = −F(X (k +1) ) + S (k )ϖR , где

ϖR = ( Τ F(X (k +1) ) F(X (k +1) )) /( Τ F(X (k ) ) F(X (k ) )) .

a.Определяется из условия сопряженности направлений поиска S(k+1) и S(k).

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

X(0) на X(n+1).

5.Поиск заканчивается, когда S (k ) < ε , где ε – заданная заранее константа.

14.3. Методы поиска глобального экстремума

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

Для многоэкстремальной функции F(X) зоной притяжения Si любого экстремума X i* называется та часть пространства параметров X, где выполняются следующие условия:

экстремум X i* принадлежит этой зоне, т.е. X i* Si ;

63Конспект лекций по САПР

все антирадиентные линии этой зоны сходятся в точку экстремума X i* .

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

Чем меньше S**, тем больше затраты на поиск.

Рассмотренные зоны характеризуются объемами:

Vi=V(Si), V*=V(S*), V**=V(S**), где

Vi – объем зоны притяжения i–го экстремума X i* ;

V* - объем зоны притяжения глобального экстремума; V** - объем зоны глобальности.

Величины V1,V2,…,VN,V*,V** определяют степень сложности отыскания глобального решения в данной задаче.

В одноэкстремальной задаче выполняется условие V1=V*=V** (N=1).

Многоэкстремальная характеризуется соотношениями объемов: V*>V**<<V0, где V0 – объем зоны поиска.

Задачу поиска глобального экстремума можно сформулировать различным образом:

1)при заданном объеме испытаний K найти оценку положения глобального экстремума X ** , такую, чтобы она в наименьшей степени отличалась от действительного поло-

жения глобального экстремума X**, т.е. X ** X ** min ;

2) при заданном объеме испытаний K найти оценку X ** , такую чтобы значение целевой функции в этой точке в наименьшей степени отличалось от глобального, т.е.

F(X ** ) F(X ** ) min ;

3)определить оценку положения глобального экстремума X ** с точностью не меньше заданной ε > X ** X ** , затратив на это минимальное число испытаний; K min ;

4)определить оценку X ** , целевая функция в которой отклоняется от глобального значения на значение не более заданногоε > F(X ** ) F(X ** ) при минимальном числе испытаний; K min .

14.3.2. «Независимый» глобальный поиск

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

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

На каждом шаге в соответствии с заданной плотностью распределения Р(Х) независимо и случайно определяется вектор Xi, вычисляется целевая функция, соответствующая этому вектору F(Xi), и полученное значение сравнивается с хранимым в памяти значением F0.

Если F(Xi)≥ F0, то производится очередной случайный эксперимент, если F(Xi)< F0, то новое значение целевой функции F(Xi) запоминается в качестве F0, также, как и вектор Xi, который соответствует этому улучшению целевой функции. После этого делается очередной случайный эксперимент.

14.3.3. Случайный поиск с управлением плотностью испытаний

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

64Конспект лекций по САПР

14.3.2.«Блуждающий» глобальный поиск

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

14.4. Методы учета ограничений

14.4.1. Метод внешней штрафной функции

Если задача оптимизации ставится в постановке (14.1), (14.2), то идея внешних штрафных функций сводится к замене исходной целевой функции F(X) функцией Ф(X), которая макси-

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

Φ(X ) = F(X ) + Θk ( X ) ,

вкачестве штрафа выбирается функция:

m

Θk (X ) = γ k [max{0, gi (X )}]2 ,

i=1

где коэффициент γk >0 определяет размер штрафа.

Введение штрафной функции Θk (X ) не изменяет экстремумов, лежащих внутри области ра-

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

14.4.2. Метод внутренней штрафной функции

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

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

Φ( X ) = F( X ) − Θk ( X ) ,

m

где Θk (X ) = −γ k (1/ gi (X )) , γ k > 0

i=1

Начальная точка X0 должна быть выбрана в области работоспособности. Если траектория поиска приближается к границе области, начинает стремиться к 0 какое-либо из ограничений gi(X), в результате чего неограниченно возрастает по абсолютному значению барьерная функция Θk (X ) , что не позволяет траектории поиска приближаться к границам области

Рекомендуется решать последовательность задач безусловной минимизации Φ(X ) с монотонно уменьшающимися коэффициентами γ k . Эта последовательность минимумов Φ(X ) сходится к минимуму целевой функции F(X).

65Конспект лекций по САПР

15.ОСНОВЫ ДИСКРЕТНОЙ ОПТИМИЗАЦИИ

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

Постановка

задачи дискретной

оптимизации вытекает из общей задачи математиче-

ского программирования (14.1.), (14.2.) для случая, когда

 

 

X = (x1 , x2 ,..., xn ) Dx

(15.1)

где множествоDx не является связным, например,

может быть конечным либо счетным

множеством.

 

 

 

Наиболее

распространенными

задачами дискретной оптимизации являются целочис-

ленные задачи линейного программирования, т.е. задачи, в которых критерий оптимальности F(x) - линейная функция переменных х1, х2, ..., хn, а на сами переменные х1, х2, ..., хn либо на часть их наложено дополнительное требование целочисленности. Тогда (15.1.) называется условием дискретности либо частичной дискретности.

В

задачах дискретной оптимизации область допустимых

значений (или об-

ласть работоспособности) Dx является невыпуклой и несвязной.

При проектировании

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

Таким образом, что

 

 

x j D j , j =1,2,..., k

(15.2)

где k≤n, а все Dj - конечные (либо счетные) множества, содержащие не менее двух элементов.

Если k=n, это соответствует полностью дискретной задаче, а если k<n - частично дискретной задаче.

Простейшимслучаем определения условного экстремума на конечном множестве является случай, кода k=n, а все Dj - конечные множества.

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

15.2.1. Транспортные задачи

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

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

Имеется i=1, 2,..., m поставщиков некоторого определенного продукта и j=1, 2, ..., n пунктов его потребления. Для каждого i-го пункта производства задано ai - объем производства, а для каждого j-го пункта потребления задано bj - объем потребления. Также задано cij - затраты на перевозку единицы продукта от i-го пункта производства до j-го пункта потребления.

Обычно производство и потребление сбалансированы, т.е. соблюдается условие

m

n

 

ai = bj

(15.3)

i=1

j=1

 

Требуется составить план перевозок Таким образом, чтобы он:

 

а) не превышал предел производительности поставщиков;

 

б) полностью обеспечивал всех потребителей;

 

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

 

Если обозначить через xij

объем перевозок от i-го поставщика к j-му

 

потребителю, где

xij≥0

(15.4)

 

66

Конспект лекций по САПР

то условия а)-в) запишутся соответственно как

n

 

 

 

xij

= ai

i =1,2,..., m

(15.5)

j=1

 

 

 

m

 

 

 

xij

= bj

j =1,2,..., n

(15.6)

i=1

 

 

 

m

n

 

 

∑∑cij xij min

(15.7)

i=1

j=1

 

 

и решение задачи сводится к минимизации (15.7.) при учете ограничений (15.4.)-(15.6.), причем доказано, что это решение всегда имеет целочисленное значение независимо от коэффициентов cij.

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

15.2.2. Задачи с неделимыми

Одной из наиболее распространенных задач является задача целочисленного линейного программирования, т.е. такая задача ЛП, в которой на все переменные (или часть их) наложено дополнительное требование целочисленности. Наиболее характерной задачей данного типа является широко известная задача о ранце. Задача ставится следующим образом: имеется n предметов (j=1, 2, ..., n) и заданы величины aj - веса каждого j-го предмета, cj - ценности каждого j-го предмета. Необходимо ранец грузоподъемности А загрузить набором предметов, имеющих максимальную суммарную ценность.

Задача математически сводится к задаче максимизации

 

 

n

 

 

 

c j x j max

(15.8)

 

 

j=1

 

Если переменные xj введены следующим образом:

 

xj =

1,

если j-й предмет подлежит загрузке,

 

 

0,

в обратном случае, j=1, 2, ..., n

(15.9)

При этом должно выполняться условие

 

 

 

n

 

 

 

a j x j A

(15.10)

 

 

j=1

 

Эта задача может

всевозможным образом усложняться (каждый предмет может загру-

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

вес, но и

суммарный объем),

но

она всегда представляет собой целочисленную задачу ЛП.

 

15.2.3. Задачи комбинаторного типа

 

В задачах

этого

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

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

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

67

Конспект лекций по САПР

из n городов и вернуться в исходный город с номером 0. Расстояние между i-м и j-м городом обозначается cij. Тогда c=[cij] представляет собой матрицу расстояний между городами. Задача заключается в том, чтобы установить порядок объезда городов, при котором суммарный путь, пройденный коммивояжером, будет минимальным.

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

хij = 1, если коммивояжер из i-го города переезжает в j-й город; (15.11) 0 в противном случае;

здесь i,j=0, 1, 2, ..., n.

Рассматривается задача минимизации

 

n

n

 

 

 

 

∑∑cij xij

min

 

(15.12)

 

i=0

j=0

 

 

 

при условиях

 

 

 

 

 

n

 

 

 

 

 

xij

=1,

j=1, 2, ..., n

 

(15.13)

i=1

 

 

 

 

 

n

 

 

 

 

 

xij

=1 ,

i=0, 1, 2, ..., n

 

(15.14)

j=1

 

 

 

 

 

ui u j + nxij

n 1,

i,j=1, 2, ..., n,

i≠j

(15.15)

Условия (15.13) свидетельствуют о том, что коммивояжер выезжает из каждого города (кроме конечного) ровно один раз; аналогично (15.14) показывают, что коммивояжер

въезжает в каждый город (кроме начального) ровно один раз.

Переменные ui, uj - целые неотрицательные переменные, ui=p, если i-й город посещается коммивояжером на р-м шаге объезда, p=1, 2, ...,n. Тогда для всех xij=0 следует, что ui-uj<=n-1 и условия (15.15) выполняются. При xij=1 условия (15.15) превращаются в равенства

ui-uj+nxij=p-(p+1)+ n=n-1.

 

 

 

Условие (15.15)

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

несколько не связанных между собой подциклов.

 

К комбинаторным

задачам относится и задача о покрытиях, общая постановка которой

сводится к следующему.

 

S = {σ1 ,σ2 ,...σm } и

 

Имеется

конечное

множество

некоторое конечное семейство

его подмножеств

найти

Sj,

j=1, 2, ..., n

т.е. минимальный набор подмно-

Требуется

минимальное покрытие множества S,

жеств Sj такой, что любой элемент множества S принадлежит хотя |бы одному из выделяемых подмножеств.

Задача формализуется следующим образом. Вводится матрица инциденций A=[aij], где

Ai

j=

1, если σi Sj

(15.16)

 

 

0 в противном случае

Вводятся булевы переменные xj, j=1, 2, ..., n, имеющие смысл

 

xj =

1, если Sj войдет в покрытие

(15.17)

 

 

0 в противном случае

Нахождение

минимального

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

сводится к задаче миними-

зации

n

 

n

 

 

 

 

 

x j min

либо c j x j min

(15.18)

 

j=1

 

j=1

 

(второе выражение справедливо для взвешенной задачи о покрытии, где cj - заданные действительные числа) при условии

68

Конспект лекций по САПР

n

 

aij x j 1, i=1, 2, …, m

(15.19)

j=1

15.2.4.Задачи на невыпуклых и несвязных областях

Эти задачи включают в себя модели, в которых к обычным условиям задачи ЛП присоединены некоторые дополнительные условия, превращающие область допустимых решений Dx в невыпуклую или несвязную.

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

Простейшим примером такого рода является введение дополнительных ограничений на переменные x1 и x2, например x1x2=0, x1+x2≥1, которые, будучи присоединены к условиям неотрицательности этих переменных в задаче ЛП, дают несвязную область, изображенную на рис. 15.1.

1

 

 

 

 

 

 

 

 

 

 

 

0

 

 

Х1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.15.1.

 

 

15.2.5. Задачи с разрывной целевой функцией

 

 

Из задач этого типа наиболее важной и изученной является т.н. транспортная задача

с

фиксированными доплатами. Она

отличается от обычной транспортной задачи тем, что мини-

мизируемая функция (15.7.) имеет вид:

 

 

 

 

 

 

 

∑∑m n

cij (xij )min

 

 

(15.23)

 

i=1 j=1

 

 

 

 

 

 

 

 

cij (xij )=

 

0, если xij=0

 

 

 

 

 

cij xij + dij ,

если xij>0

(15.24)

 

Здесь cij также интерпретируется как затраты на перевозку груз из пункта i в пункт j, а dij, например, как плата за аренду транспортных средств, не зависящая от их загрузки. Из-за введения этих дополнительных слагаемых в (15. 24) имеем разрывность каждого слагаемого в нуле.

15.3. Методы дискретной оптимизации

15.3.1. Методы отсечения

 

Эта группа методов основана на "регуляризации" задачи, достигаемой за счет временного

отбрасывания условий

дискретности, т.е. сведения задачи целочисленного ЛП к задаче ЛП.

 

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

ЛП. В

дальнейшем

требуется переход от полученного решения к целочисленному ре-

шению,

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

ного нецелочисленного решения.

69

Конспект лекций по САПР

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

1)полученное нецелочисленное решение ему не удовлетворяет;

2)любое целочисленное решение ему заведомо удовлетворяет.

Затем решается полученная расширенная задача (второй шаг),

в случае получения

опять нецелочисленного решения добавляется еще одно ограничение и т. д.

Процесс повторяется

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

Таким образом,

решение целочисленной задачи ЛП сводится к

решению некоторой

последовательности обычных задач ЛП.

 

Геометрически

добавление каждого такого линейного ограничения соответствует

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

15.3.2. Методы ветвей и границ

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

ляющихся в определенном

смысле "перспективными".

 

Таким образом, основная

идея всех методов ветвей и

границбазируется на исполь-

зовании конечности множества вариантов и переходе от полного перебора к сокращенному (направленному) перебору.

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

1.Вычисление нижней границы (оценки) значений целевой функции f(x) на исходном множестве G (или на некотором его подмножестве). т.е. такого ϕ(G), что для X G имеет место f(х)≥φ(G).

2.Последовательное разбиение (или ветвление) множества решений G на постепенно уменьшающиеся подмножества, т.е. образование дерева решений.

3.Пересчет оценок. Разбивая в процессе решения исходное множества G на подмножества

G1, G2, ..., Gs всегда будем считать, что оценка (граница) для любого подмножества Gi не меньше оценки для множества G: ϕ(Gi )ϕ(G), i=1, 2, ...,s.

15.3.3. Аддитивные методы

Аддитивные методы базируются на алгоритмах Балама и их модификациях для решения задач целочисленного ЛП с булевыми переменными.

Задача в канонической матричной форме записывается в виде: минимизировать

при условиях

f=cx

(15.27)

AX+Y=B

(15.28)

xj=

0,

 

 

1, j Ν

(15.29)

 

Y≥0

(15.30)

где У - m-мерный вектор свободных переменных.

 

В данном алгоритме подобным планом называется любой (n+m)-мерный вектор U(X,Y),

удовлетворяющий (15.28), (15.29). Пробный план называется планом,

если он удовлетворяет

70 Конспект лекций по САПР

также и (15.30) и план называется оптимальным, если он удовлетворяет (15.27). Сформулированная выше задача имеет 2n пробных планов.

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

Для пояснения сущности метода вводятся понятия.

Частичным q-планом называется набор, состоящий из q фиксированных допустимых переменных (0 или 1).

Под дополнением частичного q-плана понимается набор допустимых значений для ос-

тальных n-q переменных.

 

 

 

q-план не имеет допол-

Если оказывается, что некоторый

конкретный

частичный

нения, приводящего к меньшему

значению целевой

функции

f, то из рассмотрения

можно исключить 2n-q

допустимых планов, продолжив поиск среди остальных.

Таким образом,

аддитивный

алгоритм

заключается

в построении последовательности

частичных планов (q=0, q=1, q=2 и т.д.) и в исключении некоторых подмножеств их дополнений.

15.3.4. Метод динамического программирования

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

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

Допустим, имеются 2 сборщика и n схем, каждая из которых должна собираться сначала первым, а потом вторым сборщиком. Время работы над i-й схемой (i=1, 2, ..., n) для первого сборщика составляет ai, а для второго - bi. Требуется найти такое расписание, т.е. так составить последовательность сборки схем, чтобы минимизировать общее время сборки всех схем. При этом полагается, что последовательности сборки схем первым и вторым сборщиком совпадают. Искомое расписание тогда представляет собой перестановку (i1, i2, ..., in) чисел 1, 2, ...,n, миними-

зирующую

время от начала сборки последней схемы in вторым сборщиком.

 

Идея получения оптимального расписания согласно алгоритму Джонсона состоит в

стремлении

максимально сократить простой второго сборщика. На первом шаге алгоритма

сре-

ди чисел (а1, а2, ...,аn, b1, b2, ..., bn) находится наименьшее tмин1 (1 -

номер первого шага).

Если

таких чисел

несколько, берется произвольное

из них. Если tмин1=ai, то полагаем i=i1, т.е. поме-

щаем i-ю схему на первое место в расписание,

если же tмин1=bi,

то полагаем i=in, т.е. поме-

шаем i-ю схему на последнее место в расписании. Затем вычеркиваем i-ю схему (т.е. числа ai и bi) из списка.

Таким образом, перебираем все числа в списке (а1, а2, ...,аn, b1, b2, ..., bn) и каждый раз ставим соответствующую i-ю схему на первое из мест, еще не занятых на предыдущих k-1 ша-

гах, если на k-м шаге tминk=ai или на последнее из незанятых мест в расписании, если tминk=bi. последнюю оставшуюся схему помещаем на единственное оставшееся в расписании место.

15.4. Задачи и методы синтеза в САПР

15.4.1. Классификация задач синтеза

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

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