Оптимизация в среде MATLAB
..pdfTolFun |
Величина неразличимости значений целе- |
1e-6 |
||
|
вых функций |
|
|
|
TolX |
Величина неразличимости точек по рас- |
1e-6 |
||
|
стоянию между ними. Решения идентич- |
|
||
|
ны, если удовлетворяются одновременно |
|
||
|
TolFun и TolX |
|
|
|
MaxTime |
Максимальноевремявыполнениявсекундах |
Inf |
||
StartPointsToRun |
Выбор |
точек, используемых |
для запуска: |
'all' |
|
'all' – все стартовые точки, |
'bounds' – |
|
|
|
только |
удовлетворяющие |
границам, |
|
|
'bounds-ineqs' – удовлетворяющие гра- |
|
||
|
ницам и неравенствам. Используется на |
|
||
|
второйстадии алгоритма |
|
|
Параметры только для GlobalSearch
Параметр |
|
Описание |
Значение по |
|
умолчанию |
||
|
|
|
|
NumTrialPoints |
Число потенциально стартовых точек для |
1000 |
|
|
исследования (в дополнение к x0). Для |
|
|
|
запуска используются те из них, что про- |
|
|
|
ходят проверки |
|
|
BasinRadiusFac- |
Для уменьшения радиуса бассейна ис- |
0.2 |
|
tor |
пользуется коэффициент (1- |
|
|
|
BasinRadiusFac-tor) |
|
|
DistanceThreshold |
Множитель для определения, находится |
0.75 |
|
Factor |
ли пробная точка в существующем бас- |
|
|
|
сейне |
|
|
MaxWaitCycle |
Число последовательных пробных точек. |
20 |
|
|
Если для них функция штрафа достигает |
|
|
|
порога штрафа, то порог увеличивается |
|
|
|
посредством |
PenaltyThresholdFactor; |
|
|
если они принадлежат бассейну, то |
|
|
|
уменьшается радиус этого бассейна по- |
|
|
|
средством BasinRadiusFactor |
|
|
PenaltyThresh- |
Используется |
для увеличения порога |
0.2 |
oldFactor |
штрафа |
|
|
NumStageOne- |
Число стартовых точек на первой стадии |
200 |
|
Points |
алгоритма |
|
|
181
|
Параметры только для MultiStart |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
Параметр |
|
|
|
Описание |
|
|
|
|
Значение по |
||
|
|
|
|
|
|
|
умолчанию |
||||
|
|
|
|
|
|
|
|
|
|
|
|
UseParallel |
|
Определяет способ вычислений в поиcке: |
’never’ |
||||||||
|
|
’never’ – однопроцессорный, 'always' – |
|
||||||||
|
|
распределение стартовых точек по многим |
|
||||||||
|
|
процессорам |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ПРИЛОЖЕНИЕ 4 |
||
|
|
|
|
|
|
Параметры Direct Search |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
Параметр |
|
|
|
Описание |
|
|
|
|
Значение по |
||
|
|
|
|
|
|
|
умолчанию |
||||
|
|
|
|
|
|
|
|
|
|
|
|
Cache |
При включении ( |
'on' |
) сохраняется история |
'off' |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
окружения и точки, близкие к нему, повтор- |
|
|||||||||
|
но не проверяются. При стохастической |
|
|||||||||
|
функции 'on' не рекомендуется |
|
|
|
|
||||||
CacheSize |
Размер памяти на историю |
|
|
|
|
1e4 |
|||||
CacheTol |
Определяет близость текущих точек к точ- |
Eps |
|||||||||
|
кам истории, при непревышении которой |
(2^(-52)) |
|||||||||
|
точки не проверяются (если 'Cache' уста- |
|
|||||||||
|
новлен в |
'on') |
|
|
|
|
|
|
|
|
|
CompletePoll |
Проверка точек окружения, всех ( |
|
) или |
'off' |
|||||||
|
до лучшей ('off') |
|
|
|
'on' |
|
|
||||
|
|
|
|
|
|
|
|
||||
CompleteSearch |
Поиск точек окружения: |
|
– всех, |
'off' |
– |
'off' |
|||||
|
до лучшей |
|
|
|
'on' |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||
Display |
Уровень |
вывода результатов: |
|
|
, |
'final' |
|||||
|
'iter', 'diagnose', 'final' |
|
'off' |
|
|||||||
|
|
|
|
|
|||||||
InitialMesh- |
Начальный размер окружения |
|
|
|
1.0 |
||||||
Size |
|
|
|
|
|
|
|
|
|
|
|
InitialPenalty |
Начальное значение параметра штрафа |
|
10 |
||||||||
MaxFunEvals |
Максимальное число |
вычислений |
целевой |
2000 × число |
|||||||
|
функции |
|
|
|
|
|
|
|
|
переменных |
|
MaxIter |
Максимальное число итераций |
|
|
|
100 × число |
||||||
|
|
|
|
|
|
|
|
|
|
|
переменных |
MaxMeshSize |
Максимальный размер окружения |
|
|
|
Inf |
||||||
MeshAccelera- |
'on'- ускорять, 'off'- не ускорять схо- |
'off' |
|||||||||
tor |
димость вблизи минимума |
|
|
|
|
|
182
MeshContrac- |
Коэффициент |
сокращения |
окружения |
при |
0.5 |
||||
tion |
неуспешной итерации |
|
|
|
|
|
|||
MeshExpansion |
Коэффициент |
расширения |
окружения |
при |
2.0 |
||||
|
успешной итерации |
|
|
|
|
|
|||
MeshRotate |
Вращать образец до того, как точку объя- |
'off' |
|||||||
|
вить минимумом |
|
|
|
|
|
|
||
OutputFcn |
Пользователь определяет функцию, вызы- |
[] |
|||||||
|
ваемую на каждой итерации (@psoutput- |
|
|||||||
|
history) |
|
|
|
|
|
|
|
|
PenaltyFactor |
Коэффициент изменения штрафа |
|
|
100 |
|||||
PlotFcn |
Задает |
функцию |
вывода |
графика: |
[] |
||||
|
@psplotbestf, |
|
@psplotmeshsize, |
|
|||||
|
@psplotfuncount, |
@psplotbestx |
|
|
|||||
PlotInterval |
Определяет число интервалов, через которое |
1 |
|||||||
|
вызывается функция графики |
|
|
|
|||||
PollingOrder |
Порядок опроса точек: |
'Random', 'Suc- |
'Consecu- |
||||||
|
cess', 'Consecutive' |
|
|
|
tive' |
||||
PollMethod |
Вариант метода: |
|
|
'GPSPositive- |
'GPSPosi- |
||||
|
'GPSPositiveBasis2N', |
tive- |
|||||||
|
BasisNp1', |
'GSSPositiveBasis2N', |
Basis2N' |
||||||
|
'GSSPositiveBasisNp1', |
'MADSPosi- |
|
||||||
|
tiveBasis2N','MADS- |
|
|
|
|
|
|||
|
PositiveBasisNp1' |
|
|
|
|
|
|||
ScaleMesh |
Автоматическое масштабирование перемен- |
'on' |
|||||||
|
ных ('on', 'off') |
|
|
|
|
|
|
||
SearchMethod |
С дополнительным поиском: |
|
|
[] |
|||||
|
@GPSPositiveBasis2N, |
|
|
|
|
||||
|
@GPSPositiveBasisNp1, |
|
|
|
|
||||
|
@GSSPositiveBasis2N, GSSPositive- |
|
|||||||
|
BasisNp1, @MADSPositiveBasis2N, |
|
|
||||||
|
@MADSPositiveBasisNp1, @searchga, |
|
|||||||
|
@searchlhs, @searchneldermead,[] |
|
|
||||||
TimeLimit |
Общее время оптимизации, с |
|
|
Inf |
|||||
TolBind |
Допустимость по границам |
|
|
|
1e-3 |
||||
TolCon |
Допустимость по ограничениям |
|
|
1e-6 |
|||||
TolFun |
Допустимость по целевой функции |
|
|
1e-6 |
|||||
TolMesh |
Допустимость по размеру окружения |
|
1e-6 |
||||||
olX |
Допустимость по переменной |
|
|
1e-6 |
|||||
UseParallel |
Распараллеливать |
вычисления по |
точкам |
'never' |
|||||
|
('always') или нет ('never') |
|
|
|
|||||
Vectorized |
Определять, является ли функция векторной |
'off' |
|||||||
|
('on') |
|
|
|
|
|
|
|
|
183
ПРИЛОЖЕНИЕ 5
Параметры Simulated Annealing
Параметр |
|
|
Описание |
|
Значение по |
|
|
|
|
умолчанию |
|||
|
|
|
|
|
|
|
AcceptanceFcn |
Задает функцию, определяющую, принята |
@acceptan- |
||||
|
ли новая точка в качестве текущей |
cesa |
||||
AnnealingFcn |
Задает функцию, используемую для гене- |
@annealing |
||||
|
рации |
новых |
точек: |
собственная, |
fast |
|
|
@annealingboltz, @annealingfast |
|
||||
DataType |
Тип переменной: 'custom', 'double' |
'double' |
||||
Display |
Уровень вывода: 'off', 'iter', 'diag- |
'final' |
||||
|
nose', 'final' |
|
|
|
|
|
DisplayInterval |
Интервал в итерациях между выводами |
10 |
||||
HybridFcn |
Задает функцию, запускаемую автомати- |
[] |
||||
|
чески в течение или конце итераций реша- |
|
||||
|
теля: |
собственная, |
@fminsearch, |
|
||
|
@patternsearch, |
|
|
@fminunc, |
|
|
|
@fmincon, [] |
|
|
|
|
|
HybridInterval |
Задает интервал (если не 'end' или |
'end' |
||||
|
'never'), на котором вызывается Hy- |
|
||||
|
bridFcn: целое число, 'never', 'end' |
|
||||
InitialTempera- |
Задает начальную температуру |
100 |
||||
ture |
|
|
|
|
|
|
MaxFunEvals |
Задает |
максимальное |
число |
вычислений |
3000 × число |
|
|
целевой функции |
|
|
|
переменных |
|
MaxIter |
Задает максимальное число итераций |
Inf |
||||
ObjectiveLimit |
Желаемое минимальное значение целевой |
-Inf |
||||
|
функции |
|
|
|
|
|
OutputFcns |
Задает функцию(и), получающую(ие) дан- |
[] |
||||
|
ные итерации и |
возможно изменяю- |
|
|||
|
щую(ие) параметры процесса: собствен- |
|
||||
|
ная, [] |
|
|
|
|
|
PlotFcns |
Задает функцию(и) графики, вызывае- |
[] |
||||
|
мую(ые) в течение итераций: собственная, |
|
||||
|
@saplotbestf, @saplotbestx , |
|
||||
|
@saplotf , @saplotstopping, |
|
||||
|
@saplottemperature, [] |
|
|
|||
PlotInterval |
Задает число итераций, через которое вы- |
1 |
||||
|
зывается функция графики |
|
|
184
ReannealInterval |
Задает интервал, через который происхо- |
100 |
|
дит переотжиг |
|
StallIterLimit |
Задает число итераций, по которому вы- |
500 × число |
|
числяется среднее значение изменения |
переменных |
|
функции |
|
TemperatureFcn |
Задает функцию обновления графика тем- |
@temperatu- |
|
пературы: собственная, @temperature- |
reexp |
|
boltz, @temperaturefast, @tempera- |
|
|
tureexp |
|
TimeLimit |
Задаетпределвремениработыалгоритма, с |
Inf |
TolFun |
Задает допустимое значение функции |
1e-6 |
ПРИЛОЖЕНИЕ 6
Параметры Genetic Algorithm (ga и gamultiobj)
Параметр |
|
Описание |
|
Значение по |
|
|
умолчанию |
||
|
|
|
|
|
CreationFcn |
Задает функцию, создающую начальную по- |
@gacrea- |
||
|
пуляцию: @gacreationuniform, @ga- |
tion- |
||
|
creationlinearfeasible |
|
uniform |
|
CrossoverFcn |
Задает функцию кроссовера: |
|
@crosso- |
|
|
@crossoverheuristic, |
|
verscat- |
|
|
@crossoverscattered, |
|
tered |
|
|
@crossoverintermediate,@crossover- |
|
||
|
singlepoint, @crossovertwopoint, |
|
||
|
@crossoverarithmetic |
|
|
|
Crossover- |
Доля популяции следующего поколения, соз- |
0.8 |
||
Fraction |
даваемая кроссовером |
|
|
|
Display |
Уровень вывода: 'off', 'iter', 'diag- |
'final' |
||
|
nose', 'final' |
|
|
|
DistanceMeasu– |
Задает функцию, которая вычисляет меру |
[] |
||
reFcn |
расстояния между особями в пространстве |
|
||
|
переменных (генотип) или функции (фено- |
|
||
|
тип): |
{@distancecrowding, |
'pheno- |
|
|
type'} |
|
|
|
EliteCount |
Число элитных особей, Не используется в |
2 |
||
|
gamultiobj |
|
|
|
FitnessLimit |
Значение фитнес-функции, при достижении |
-Inf |
||
|
которого останавливается алгоритм |
|
|
185
Fitness- |
Задает функцию, масштабирующую фитнес- |
@fitsca- |
|||
ScalingFcn |
функцию: |
@fitscalingshiftlinear, |
ling- |
||
|
@fitscalingprop, |
|
@fitscalingtop, |
rank |
|
|
@fitscalingrank |
|
|
|
|
Generations |
Определяет максимальное число итераций |
100 |
|||
HybridFcn |
Задает функцию, которая продолжает опти- |
[] |
|||
|
мизацию после окончания ga: собственная, |
|
|||
|
@fminsearch, |
|
|
@patternsearch, |
|
|
@fminunc, @fmincon или {@solver, hy- |
|
|||
|
bridoptions}(при типе данных double) |
|
|||
InitialPe- |
Начальное значение параметра штрафа |
10 |
|||
nalty |
|
|
|
|
|
InitialPopu- |
Задаваемая пользователем матрица началь- |
[] |
|||
lation |
ной популяции или ее части |
|
|||
InitialScores |
Задаваемый пользователем вектор-столбец |
[] |
|||
|
начальных меток фитнес, возможно частич- |
|
|||
|
ный |
|
|
|
|
MigrationDi- |
Направление |
миграции |
(перемещения): |
'forward' |
|
rection |
'both', 'forward' |
|
|
|
|
Migration- |
Доля особей в каждой подпопуляции, пере- |
0.2 |
|||
Fraction |
мещаемая в другую подпопуляцию |
|
|||
MigrationIn- |
Число поколений между миграциями особей |
20 |
|||
terval |
между подпопуляциями |
|
|
||
MutationFcn |
Указывает функцию получения потомков му- |
@muta- |
|||
|
тацией: @mutationuniform, @mutation- |
tion |
|||
|
adaptfeasible, @mutationgaussian |
gaussian |
|||
OutputFcns |
Указывает функцию, вызываемую на каждой |
[] |
|||
|
итерации: @gaoutputgen |
|
|
||
ParetoFrac- |
Доля особей, удерживаемых на первом фрон- |
0.35 |
|||
tion |
те Парето, в то время как решатель выбирает |
|
|||
|
особи из более высоких фронтов |
|
|||
PenaltyFactor |
Коэффициент обновления штрафа |
100 |
|||
PlotFcns |
Задает функции графики: |
|
[] |
||
|
@gaplotbestf, |
|
@gaplotbestindiv, |
|
|
|
@gaplotdistance, |
@gaplotexpectation, |
|
||
|
@gaplotgeneology, |
@gaplotselection, |
|
||
|
@gaplotrange, |
@gaplotscorediversity, |
|
||
|
@gaplotscores, gaplotstopping |
|
|||
PlotInterval |
Число поколений между вызовами функций |
1 |
|||
|
графики |
|
|
|
|
186
PopInitRange |
Матрица или вектор диапазона особей в на- |
[0;1] |
|
|
чальной популяции |
|
|
Population- |
Размер популяции, целое число или вектор |
20 |
|
Size |
|
|
|
Population- |
Задает тип данных |
популяции: 'bit- |
'doubleVec |
Type |
string', 'custom' |
(оба при отсутствии |
tor' |
|
ограничений),'doubleVector' |
|
|
SelectionFcn |
Определяет функцию выбора родителей: |
@selection |
|
|
@selectionremainder, |
stochunif |
|
|
@selectionuniform, |
|
|
|
@selectionstochunif, |
|
|
|
@selectionroulette, |
|
|
|
@selectiontournament |
|
|
StallGenLimit |
Число последовательных поколений, не |
50 |
|
|
дающее улучшение целевой функции, после |
|
|
|
которого останавливается алгоритм |
|
|
Stall- |
Время, за которое, если нет улучшения целе- |
Inf |
|
TimeLimit |
вой функции, алгоритм останавливается, с |
|
|
TimeLimit |
Максимально допустимое время работы , с |
Inf |
|
|
|
ga |
|
TolCon |
Приемлемая величина нарушения нелиней- |
1e-6 |
|
|
ных ограничений |
|
|
TolFun |
Если изменение целевой функции за Stall- |
1e-6 |
|
|
GenLimit поколений меньше этой величины, |
|
|
|
алгоритм останавливается |
|
|
UseParallel |
Определяет, вычислять ли фитнес-функции |
'never' |
|
|
популяции в параллель: |
'always','never' |
|
Vectorized |
Определяет вычисление фитнес-функции как |
'off' |
|
|
векторной величины: 'on','off' |
|
ПРИЛОЖЕНИЕ 7
Параметры fgoalattain и fminimax
Параметр |
Описание |
Значение по |
|
умолчанию |
|||
|
|
||
|
|
|
|
DerivativeCheck |
Сравнивает вычисление производных по |
'off' |
|
|
аналитическим записям и по конечно- |
|
|
|
разностному способу: 'on', 'off' |
|
|
Diagnostics |
Показывать или нет диагностическую ин- |
'off' |
|
|
формацию о функции: 'on', 'off' |
|
187
DiffMaxChange |
Максимальное изменение переменных при |
0.1 |
||||||
|
|
конечно-разностномвычислении градиентов |
1e-8 |
|||||
DiffMinChange |
Минимальное |
изменение переменных при |
||||||
|
|
конечно-разностномвычислении градиентов |
'final' |
|||||
Display |
|
Уровень |
вывода: |
, |
, |
|||
|
|
|
|
|
|
'off' 'iter' 'iter- |
|
|
|
|
detailed','notify'(вывод только при |
|
|||||
|
|
несходимости),'notify-detailed', 'fi- |
|
|||||
|
|
nal','final-detailed' |
|
'forward' |
||||
FinDiffType |
|
Способ вычисления конечной разности для |
||||||
|
|
градиентов: 'forward' (сдвигом вперед), |
|
|||||
|
|
'central' |
|
|
|
|
'off' |
|
FunValCheck |
|
Показывать или нет ошибку при непра- |
||||||
|
|
вильных значениях функций (комплекс- |
|
|||||
|
|
ных, Inf или NaN): 'on', 'off' |
|
0 |
||||
GoalsExact- |
|
Задает число целевых функций, по кото- |
||||||
Achieve |
|
рым требуется, чтобы они равнялись целе- |
|
|||||
|
|
вым значениям (только для fgoalattain) |
0 |
|||||
MinAbsMax |
|
Число функций fi(x), по которым для ми- |
||||||
|
|
нимизации берется максимальная абсо- |
|
|||||
|
|
лютная величина (только для fminmax) |
'off' |
|||||
, |
|
Их включение ( |
|
) означает, что гради- |
||||
GradObj |
Grad- |
|
|
|
'on' |
|
|
|
Constr |
|
енты целевых функций и нелинейных ог- |
|
|||||
|
|
раничений даются пользователем в m- |
|
|||||
|
|
файлах |
|
|
|
|
|
|
MaxFunEvals |
|
Максимально допустимое число вычисле- |
100 × число |
|||||
|
|
ний функции |
|
|
|
|
переменных |
|
MaxIter |
|
Максимально допустимое число итераций |
400 |
|||||
MaxSQPIter |
|
Максимально допустимое число итераций |
>10 × число |
|||||
|
|
SQP-алгоритма |
|
|
|
переменных |
||
MeritFunction |
'multiobj' |
– использование |
функции |
'multiobj' |
||||
|
|
качества |
goal |
attainment/minimax, |
|
|||
|
|
'singleobj' |
– использование |
функции |
|
|||
|
|
качества |
fmincon |
|
|
[] |
||
OutputFcn |
|
Задает одну или более функций вывода |
||||||
|
|
пользователя |
|
|
|
|
|
188
PlotFcns |
Задает функции графики: @optimplotx, |
[] |
|
|
@optimplotfunccount, |
|
|
|
@optimplotfval, |
|
|
|
@optimplotconstrviolation, |
|
|
|
@optimplotstepsize |
|
|
RelLineSrchBnd |
Коэффициент для ограничения величины |
[] |
|
|
смещения по |
x в линейном поиске: |
|
|
| x(i)| ≤relLineSrchBnd·max(|x(i)|.|typicalx(i)|). |
|
|
|
|
|
|
RelLineSrch- |
Число итераций, на которых ограничение |
1 |
|
BndDuration |
на | x(i)| должно быть активным |
|
|
TolCon |
Допустимая конечная величина нарушений |
1e-6 |
|
|
ограничений |
|
|
TolConSQP |
Допустимая конечная величина нарушений |
1e-6 |
|
|
ограничений в итерациях SQP |
|
|
TolFun |
Допустимое конечное изменение значения |
1e-6 |
|
|
функции |
|
|
TolX |
Допустимое конечное изменение по x |
1e-6 |
|
TypicalX |
Fgoalattain |
применяет для шкалирова- |
Единичный |
|
ния конечных разностей при вычислении |
вектор с раз- |
|
|
градиента |
|
мером, рав- |
|
|
|
ным числу |
|
|
|
переменных |
UseParallel |
Задает способ вычисления градиентов: |
'never' |
|
|
'always' (параллельный), 'never' (нет) |
|
ПРИЛОЖЕНИЕ 8
Параметры quadprog
Параметр |
Описание |
Значение по |
|
умолчанию |
|||
|
|
||
HessMult |
Задает функцию вычисления произведения |
___ |
|
|
H×Y |
|
|
MaxPCGIter |
Максимальное число итераций PCG |
Число пе- |
|
|
|
ременных/2 |
|
PrecondBand- |
Определяет метод решения большой сис- |
0 |
|
Width |
темы: 0 – PCG, Inf – прямая фактори- |
|
|
|
зация |
|
189
TolFun |
Допустимое отклонение целевой функции |
Приграницах |
|
|
2.2204e-14, |
|
|
при равенст- |
|
|
вах 1e-6 |
TolPCG |
Конечная допустимость в PCG |
0.1 |
TolX |
Конечная допустимость по х |
2.2204e-14 |
TypicalX |
Типовые значения х для внутреннего мас- |
Все компо- |
|
штабирования. Эффективно при наличии не- |
ненты равны |
|
ограниченныхкомпонентхи TypicalX>1 |
1 |
ПРИЛОЖЕНИЕ 9
Параметры fsolve
Общие для всех алгоритмов
Параметр |
Описание |
|
|
|
|
|
|
Algorithm |
Используемый |
алгоритм: |
'trust- |
|
region-dogleg', |
'trust-region- |
|
|
reflective', 'levenberg-marquardt' |
DerivativeCheck, Как в предыдущих приложениях
Diagnostics,
DiffMaxChange,
DiffMinChange, Display, FunValCheck, MaxFunEvals, MaxIter, OutputFcn, TolFun, TolX, TypicalX
PlotFcns Задает функцию графики: @optimplotx,
@optimplotfunccount, @optimplotfval, @optimplotresnorm, @optimplotstepsize, @optimplotfirstorderopt
Jacobian |
Вычисление Якобиана: |
– задано поль- |
|
|
'on' |
|
зователем, 'off'– по конечным разностям |
Значение по умолчанию
'trustregiondogleg'
–
[]
'off'
190