Найдите точки во Множестве Парето
x = paretosearch(fun,nvars)
x = paretosearch(fun,nvars,A,b)
x = paretosearch(fun,nvars,A,b,Aeq,beq)
x = paretosearch(fun,nvars,A,b,Aeq,beq,lb,ub)
x = paretosearch(fun,nvars,A,b,Aeq,beq,lb,ub,nonlcon)
x = paretosearch(fun,nvars,A,b,Aeq,beq,lb,ub,nonlcon,options)
x = paretosearch(problem)
[x,fval]
= paretosearch(___)
[x,fval,exitflag,output]
= paretosearch(___)
[x,fval,exitflag,output,residuals]
= paretosearch(___)
задает набор нижних и верхних границ на переменных проекта в x
= paretosearch(fun
,nvars
,A
,b
,Aeq
,beq
,lb
,ub
)x
, так, чтобы x
всегда был в области значений lb
≤ x ≤
ub
. Если никакие линейные равенства не существуют, устанавливают Aeq = []
и beq = []
. Если x(i)
не имеет никакой нижней границы, установите lb(i) = -Inf
. Если x(i)
не имеет никакой верхней границы, установите ub(i) = Inf
.
применяет нелинейные неравенства x
= paretosearch(fun
,nvars
,A
,b
,Aeq
,beq
,lb
,ub
,nonlcon
)c(x)
, заданный в nonlcon
. Функция paretosearch
находит точки, над которыми не доминируют, таким образом что c(x) ≤ 0
. Если никакие границы не существуют, устанавливают lb = []
, ub = []
или обоих.
В настоящее время paretosearch
не поддерживает нелинейные ограничения равенства ceq(x) = 0
.
Найдите точки на передней стороне Парето 2D целевой функции двумерной переменной.
fun = @(x)[norm(x-[1,2])^2;norm(x+[2,1])^2]; rng default % For reproducibility x = paretosearch(fun,2);
Pareto set found that satisfies the constraints. Optimization completed because the relative change in the volume of the Pareto set is less than 'options.ParetoSetChangeTolerance' and constraints are satisfied to within 'options.ConstraintTolerance'.
Постройте решение как график рассеивания.
plot(x(:,1),x(:,2),'m*') xlabel('x(1)') ylabel('x(2)')
Теоретически, решение этой проблемы является прямой линией от [-2,-1]
до [1,2]
. paretosearch
возвращает равномерно распределенные точки близко к этой строке.
Создайте переднюю сторону Парето для 2D объективной проблемы, в двух измерениях подвергают линейному ограничению x(1) + x(2) <= 1
.
fun = @(x)[norm(x-[1,2])^2;norm(x+[2,1])^2]; A = [1,1]; b = 1; rng default % For reproducibility x = paretosearch(fun,2,A,b);
Pareto set found that satisfies the constraints. Optimization completed because the relative change in the volume of the Pareto set is less than 'options.ParetoSetChangeTolerance' and constraints are satisfied to within 'options.ConstraintTolerance'.
Постройте решение как график рассеивания.
plot(x(:,1),x(:,2),'m*') xlabel('x(1)') ylabel('x(2)')
Теоретически, решение этой проблемы является прямой линией от [-2,-1]
до [0,1]
. paretosearch
возвращает равномерно распределенные точки близко к этой строке.
Создайте переднюю сторону Парето для 2D объективной проблемы, в двух измерениях подвергают границам x(1) >= 0
и x(2) <= 1
.
fun = @(x)[norm(x-[1,2])^2;norm(x+[2,1])^2]; lb = [0,-Inf]; % x(1) >= 0 ub = [Inf,1]; % x(2) <= 1 rng default % For reproducibility x = paretosearch(fun,2,[],[],[],[],lb,ub);
Pareto set found that satisfies the constraints. Optimization completed because the relative change in the volume of the Pareto set is less than 'options.ParetoSetChangeTolerance' and constraints are satisfied to within 'options.ConstraintTolerance'.
Постройте решение как график рассеивания.
plot(x(:,1),x(:,2),'m*') xlabel('x(1)') ylabel('x(2)')
Все точки решения находятся на ограничительных контурах x(1) = 0
или x(2) = 1
.
Создайте переднюю сторону Парето для 2D объективной проблемы, в двух измерениях подвергают границам -1.1 <= x(i) <= 1.1
и нелинейное ограничение norm(x)^2 <= 1.2
. Нелинейная ограничительная функция появляется в конце этого примера и работает, если вы запускаете этот пример как live скрипт. Чтобы запустить этот пример в противном случае, включайте нелинейную ограничительную функцию как файл на вашем пути MATLAB®.
Чтобы лучше видеть эффект нелинейного ограничения, установите опции использовать большой размер Множества Парето.
rng default % For reproducibility fun = @(x)[norm(x-[1,2])^2;norm(x+[2,1])^2]; lb = [-1.1,-1.1]; ub = [1.1,1.1]; options = optimoptions('paretosearch','ParetoSetSize',200); x = paretosearch(fun,2,[],[],[],[],lb,ub,@circlecons,options);
Pareto set found that satisfies the constraints. Optimization completed because the relative change in the volume of the Pareto set is less than 'options.ParetoSetChangeTolerance' and constraints are satisfied to within 'options.ConstraintTolerance'.
Постройте решение как график рассеивания. Включайте график кругового ограничительного контура.
figure plot(x(:,1),x(:,2),'k*') xlabel('x(1)') ylabel('x(2)') hold on rectangle('Position',[-1.2 -1.2 2.4 2.4],'Curvature',1,'EdgeColor','r') xlim([-1.2,0.5]) ylim([-0.5,1.2]) axis square hold off
Точки решения, которые имеют положительные значения x(1)
или отрицательные значения x(2)
, близко к нелинейному ограничительному контуру.
function [c,ceq] = circlecons(x) ceq = []; c = norm(x)^2 - 1.2; end
Чтобы контролировать прогресс paretosearch
, задайте функцию построения графика 'psplotparetof'
.
fun = @(x)[norm(x-[1,2])^2;norm(x+[2,1])^2]; options = optimoptions('paretosearch','PlotFcn','psplotparetof'); lb = [-4,-4]; ub = -lb; x = paretosearch(fun,2,[],[],[],[],lb,ub,[],options);
Pareto set found that satisfies the constraints. Optimization completed because the relative change in the volume of the Pareto set is less than 'options.ParetoSetChangeTolerance' and constraints are satisfied to within 'options.ConstraintTolerance'.
Решение похоже на круговую четвертью дугу с радиусом 18, который, как могут показывать, является аналитическим решением.
Получите переднюю сторону Парето и в функциональном пространстве и в пространстве параметров путем вызова paretosearch
с обоими x
и fval
выходные параметры. Установите опции строить Множество Парето и в функциональном пространстве и в пространстве параметров.
fun = @(x)[norm(x-[1,2])^2;norm(x+[2,1])^2]; lb = [-4,-4]; ub = -lb; options = optimoptions('paretosearch','PlotFcn',{'psplotparetof' 'psplotparetox'}); rng default % For reproducibility [x,fval] = paretosearch(fun,2,[],[],[],[],lb,ub,[],options);
Pareto set found that satisfies the constraints. Optimization completed because the relative change in the volume of the Pareto set is less than 'options.ParetoSetChangeTolerance' and constraints are satisfied to within 'options.ConstraintTolerance'.
Аналитическое решение на пробеле целевой функции является круговой четвертью дугой радиуса 18. В пространстве параметров аналитическое решение является прямой линией от [-2,-1]
до [1,2]
. Точки решения близко к аналитическим кривым.
Установите опции контролировать процесс решения для Множества Парето. Кроме того, получите больше выходных параметров из paretosearch
, чтобы позволить вам понять процесс решения.
options = optimoptions('paretosearch','Display','iter',... 'PlotFcn',{'psplotparetof' 'psplotparetox'}); fun = @(x)[norm(x-[1,2])^2;norm(x+[2,1])^2]; lb = [-4,-4]; ub = -lb; rng default % For reproducibility [x,fval,exitflag,output] = paretosearch(fun,2,[],[],[],[],lb,ub,[],options);
Iter F-count NumSolutions Spread Volume 0 60 11 - 3.7872e+02 1 386 12 - 3.4654e+02 2 702 27 9.4324e-01 2.9452e+02 3 1029 27 - 2.9904e+02 4 1357 40 0.0000e+00 3.0154e+02 5 1697 60 1.4903e-01 3.0369e+02 6 1841 60 1.4515e-01 3.0439e+02 7 1961 60 1.7716e-01 3.0465e+02 8 2075 60 1.6123e-01 3.0475e+02 9 2189 60 1.7419e-01 3.0449e+02 Pareto set found that satisfies the constraints. Optimization completed because the relative change in the volume of the Pareto set is less than 'options.ParetoSetChangeTolerance' and constraints are satisfied to within 'options.ConstraintTolerance'.
Исследуйте дополнительные выходные параметры.
fprintf('Exit flag %d.\n',exitflag)
Exit flag 1.
disp(output)
iterations: 10 funccount: 2189 volume: 304.4256 averagedistance: 0.0215 spread: 0.1742 maxconstraint: 0 message: 'Pareto set found that satisfies the constraints. ...' rngstate: [1x1 struct]
Получите и исследуйте передние ограничительные невязки Парето. Создайте проблему с линейным ограничением неравенства sum(x) <= -1/2
и нелинейное ограничение неравенства norm(x)^2 <= 1.2
. Для улучшенной точности используйте 200 точек на передней стороне Парето и ParetoSetChangeTolerance
1e-7
, и дайте естественным границам -1.2 <= x(i) <= 1.2
.
Нелинейная ограничительная функция появляется в конце этого примера и работает, если вы запускаете этот пример как live скрипт. Чтобы запустить этот пример в противном случае, включайте нелинейную ограничительную функцию как файл на вашем пути MATLAB®.
fun = @(x)[norm(x-[1,2])^2;norm(x+[2,1])^2]; A = [1,1]; b = -1/2; lb = [-1.2,-1.2]; ub = -lb; nonlcon = @circlecons; rng default % For reproducibility options = optimoptions('paretosearch','ParetoSetChangeTolerance',1e-7,... 'PlotFcn',{'psplotparetof' 'psplotparetox'},'ParetoSetSize',200);
Вызовите paretosearch
с помощью всех выходных параметров.
[x,fval,exitflag,output,residuals] = paretosearch(fun,2,A,b,[],[],lb,ub,nonlcon,options);
Pareto set found that satisfies the constraints. Optimization completed because the relative change in the volume of the Pareto set is less than 'options.ParetoSetChangeTolerance' and constraints are satisfied to within 'options.ConstraintTolerance'.
Ограничения неравенства уменьшают размер Множества Парето по сравнению с неограниченным набором. Исследуйте возвращенные невязки.
fprintf('The maximum linear inequality constraint residual is %f.\n',max(residuals.ineqlin))
The maximum linear inequality constraint residual is 0.000000.
fprintf('The maximum nonlinear inequality constraint residual is %f.\n',max(residuals.ineqnonlin))
The maximum nonlinear inequality constraint residual is -0.000244.
Максимальные возвращенные невязки отрицательны, означая, что все возвращенные точки выполнимы. Максимальные возвращенные невязки близко к нулю, означая, что каждое ограничение активно для некоторых точек.
function [c,ceq] = circlecons(x) ceq = []; c = norm(x)^2 - 1.2; end
fun
— Фитнес функционирует, чтобы оптимизироватьФитнес функционирует, чтобы оптимизировать, заданный как указатель на функцию или имя функции.
fun
является функцией, которая признает, что действительный вектор - строка из удваивает x
длины nvars
и возвращает вектор действительных чисел F(x)
значений целевой функции. Для получения дополнительной информации при записи fun
, смотрите, Вычисляют Целевые функции.
Если вы устанавливаете опцию UseVectorized
на true
, то fun
принимает матрицу размера n
-by-nvars
, где матрица представляет людей n
. fun
возвращает матрицу размера n
-by-m
, где m
является количеством целевых функций. Смотрите Векторизуют Функцию Фитнеса.
Пример: @(x)[sin(x),cos(x)]
Типы данных: char
| function_handle
| string
nvars
— Количество переменныхКоличество переменных, заданных как положительное целое число. Решатель передает векторы - строки из длины nvars
к fun
.
Пример 4
Типы данных: double
A
Линейные ограничения неравенстваЛинейные ограничения неравенства, заданные как действительная матрица. A
является M
-by-nvars
матрица, где M
является количеством неравенств.
A
кодирует M
линейные неравенства
A*x <= b
,
где x
является вектор-столбцом переменных nvars
x(:)
, и b
является вектор-столбцом с элементами M
.
Например, чтобы задать
x 1 + 2x2 ≤ 10
3x1 + 4x2 ≤ 20
5x1 + 6x2 ≤ 30,
дайте эти ограничения:
A = [1,2;3,4;5,6]; b = [10;20;30];
Пример: Чтобы указать что сумма контрольных переменных к 1 или меньше, дайте ограничениям A = ones(1,N)
и b = 1
.
Типы данных: double
b
Линейные ограничения неравенстваЛинейные ограничения неравенства, заданные как вектор действительных чисел. b
является M
- вектор элемента, связанный с матрицей A
. Если вы передаете b
как вектор - строку, решатели внутренне преобразовывают b
в вектор-столбец b(:)
.
b
кодирует M
линейные неравенства
A*x <= b
,
где x
является вектор-столбцом переменных N
x(:)
, и A
является матрицей размера M
-by-N
.
Например, чтобы задать
x 1 + 2x2 ≤ 10
3x1 + 4x2 ≤ 20
5x1 + 6x2 ≤ 30,
дайте эти ограничения:
A = [1,2;3,4;5,6]; b = [10;20;30];
Пример: Чтобы указать что сумма контрольных переменных к 1 или меньше, дайте ограничениям A = ones(1,N)
и b = 1
.
Типы данных: double
Aeq
— Линейные ограничения равенстваЛинейные ограничения равенства, заданные как действительная матрица. Aeq
является Me
-by-nvars
матрица, где Me
является количеством равенств.
Aeq
кодирует Me
линейные равенства
Aeq*x = beq
,
где x
является вектор-столбцом переменных N
x(:)
, и beq
является вектор-столбцом с элементами Me
.
Например, чтобы задать
x 1 + 2x2 + 3x3 = 10
2x1 + 4x2 + x 3 = 20,
дайте эти ограничения:
Aeq = [1,2,3;2,4,1]; beq = [10;20];
Пример: Чтобы указать что сумма контрольных переменных к 1, дайте ограничениям Aeq = ones(1,N)
и beq = 1
.
Типы данных: double
beq
— Линейные ограничения равенстваЛинейные ограничения равенства, заданные как вектор действительных чисел. beq
является Me
- вектор элемента, связанный с матрицей Aeq
. Если вы передаете beq
как вектор - строку, решатели внутренне преобразовывают beq
в вектор-столбец beq(:)
.
beq
кодирует Me
линейные равенства
Aeq*x = beq
,
где x
является вектор-столбцом переменных N
x(:)
, и Aeq
является матрицей размера Meq
-by-N
.
Например, чтобы задать
x 1 + 2x2 + 3x3 = 10
2x1 + 4x2 + x 3 = 20,
дайте эти ограничения:
Aeq = [1,2,3;2,4,1]; beq = [10;20];
Пример: Чтобы указать что сумма контрольных переменных к 1, дайте ограничениям Aeq = ones(1,N)
и beq = 1
.
Типы данных: double
lb
— Нижние границы[]
(значение по умолчанию) | вектор действительных чисел или массивНижние границы, заданные как вектор действительных чисел или массив, удваиваются. lb
представляет нижние границы, поэлементные в lb
≤ x ≤
ub
.
Внутренне, paretosearch
преобразовывает массив lb
в векторный lb(:)
.
Пример: lb = [0;-Inf;4]
означает x(1) ≥ 0
, x(3) ≥ 4
.
Типы данных: double
ub
— Верхние границы[]
(значение по умолчанию) | вектор действительных чисел или массивВерхние границы, заданные как вектор действительных чисел или массив, удваиваются. ub
представляет верхние границы, поэлементные в lb
≤ x ≤
ub
.
Внутренне, paretosearch
преобразовывает массив ub
в векторный ub(:)
.
Пример: ub = [Inf;4;10]
означает x(2) ≤ 4
, x(3) ≤ 10
.
Типы данных: double
nonlcon
— Нелинейные ограниченияНелинейные ограничения, заданные как указатель на функцию или имя функции. nonlcon
является функцией, которая принимает вектор - строку x
и возвращает два вектора - строки, c(x)
и ceq(x)
.
c(x)
является вектором - строкой из нелинейных ограничений неравенства в x
. Функция paretosearch
пытается удовлетворить c(x) <= 0
для всех записей c
.
ceq(x)
должен возвратить []
, потому что в настоящее время paretosearch
не поддерживает нелинейные ограничения равенства.
Если вы устанавливаете опцию UseVectorized
на true
, то nonlcon
принимает матрицу размера n
-by-nvars
, где матрица представляет людей n
. nonlcon
возвращает матрицу размера n
-by-mc
в первом аргументе, где mc
является количеством нелинейных ограничений неравенства. Смотрите Векторизуют Функцию Фитнеса.
Например, x = paretosearch(@myfun,nvars,A,b,Aeq,beq,lb,ub,@mycon)
, где mycon
является функцией MATLAB®, такой как следующее:
function [c,ceq] = mycon(x) c = ... % Compute nonlinear inequalities at x. ceq = [] % No nonlinear equalities at x.
Для получения дополнительной информации смотрите Нелинейные Ограничения (Optimization Toolbox).
Типы данных: char
| function_handle
| string
опции
Опции оптимизацииoptimoptions
| структураОпции оптимизации, заданные как вывод optimoptions
или как структура.
optimoptions
скрывает опции, перечисленные курсивом; см. Опции, которые Скрывает optimoptions.
{}
обозначает значение по умолчанию. Смотрите детали опции в Параметрах поиска Шаблона.
Опции для patternsearch
и paretosearch
Опция | Описание | Значения |
---|---|---|
| Допуск на ограничениях. Для структуры опций используйте | Положительная скалярная величина | |
| Уровень отображения. | 'off' | 'iter' | 'diagnose' | {'final'} |
| Максимальное количество оценок целевой функции. Для структуры опций используйте | Положительное целое число | |
| Максимальное количество итераций. Для структуры опций используйте | Положительное целое число | |
| Общее время (в секундах) допускало оптимизацию. Для структуры опций используйте | Положительная скалярная величина | |
| Допуск на размере mesh. Для структуры опций используйте | Положительная скалярная величина | |
| Функция, что оптимизация вызовы функции в каждой итерации. Задайте как указатель на функцию или cell-массив указателей на функцию. Для структуры опций используйте | Указатель на функцию или cell-массив указателей на функцию | |
| Графики вывода от поиска шаблона. Задайте как имя встроенной функции построения графика, указателя на функцию или массива ячеек имен встроенных функций построения графика или указателей на функцию. Для структуры опций используйте |
Для Для |
| Опрос стратегии используется в поиске шаблона. |
Для |
| Вычислите объективные и нелинейные ограничительные функции параллельно. См. Векторизованные и Параллельные Опции (Оценка Функции пользователя) и Как Использовать Параллельную обработку в Global Optimization Toolbox. |
|
| Задает, векторизованы ли функции. См. Векторизованные и Параллельные Опции (Оценка Функции пользователя) и Векторизуйте Функции Цели и Ограничения. Для структуры опций используйте |
|
Опции для paretosearch
только
Опция | Описание | Значения |
---|---|---|
| Начальные точки для
| Матрица со столбцами |
| Минимальная часть шаблона, чтобы опросить. | Скаляр от 0 до 1 | |
| Число точек во Множестве Парето. | Положительное целое число | |
| Решатель останавливается, когда относительное изменение в останавливающейся мере по окну итераций меньше чем или равно
См. Определения для paretosearch Алгоритма. Решатель останавливается, когда относительное изменение в любой применимой мере является меньше, чем ПримечаниеПри установке | Положительная скалярная величина | |
Опции для patternsearch
только
Опция | Описание | Значения |
---|---|---|
Кэш | С набором |
|
CacheSize | Размер истории. | Положительная скалярная величина | |
CacheTol | Самое большое расстояние от текущей mesh указывает на любой момент в истории для | Положительная скалярная величина | |
FunctionTolerance | Допуск на функции. Итерации останавливаются, если изменение в значении функции является меньше, чем Для структуры опций используйте | Положительная скалярная величина | |
InitialMeshSize | Начальный размер mesh для алгоритма. Смотрите Как Поиск Шаблона Опрос работ. | Положительная скалярная величина | |
InitialPenalty | Начальное значение параметра штрафа. Смотрите Нелинейный Ограничительный Алгоритм решателя. | Положительная скалярная величина | |
MaxMeshSize | Максимальный размер mesh используется в опросе или поисковом шаге. Смотрите Как Поиск Шаблона Опрос работ. | Положительная скалярная величина | |
MeshContractionFactor | Поймайте в сети фактор сокращения для неудачной итерации. Для структуры опций используйте | Положительная скалярная величина | |
MeshExpansionFactor | Поймайте в сети фактор расширения для успешной итерации. Для структуры опций используйте | Положительная скалярная величина | |
MeshRotate | Вращайте шаблон прежде, чем объявить, что точка оптимальна. См. Опции Mesh. |
|
PenaltyFactor | Параметр обновления штрафа. Смотрите Нелинейный Ограничительный Алгоритм решателя. | Положительная скалярная величина | |
PlotInterval | Указывает, что функции построения графика называются в каждом интервале. | положительное целое число | |
PollOrderAlgorithm | Порядок направлений опроса в поиске шаблона. Для структуры опций используйте |
|
ScaleMesh | Автоматическое масштабирование переменных. Для структуры опций используйте |
|
SearchFcn | Тип поиска используется в поиске шаблона. Задайте как имя или указатель на функцию. Для структуры опций используйте |
|
StepTolerance | Допуск на переменной. Итерации останавливаются, если и изменение в положении и размер mesh являются меньше, чем Для структуры опций используйте | Положительная скалярная величина | |
TolBind | Обязательный допуск. Смотрите Параметры ограничения. | Положительная скалярная величина | |
UseCompletePoll | Полный опрос вокруг текущей точки. Смотрите Как Поиск Шаблона Опрос работ. Для структуры опций используйте |
|
UseCompleteSearch | Полный поиск вокруг текущей точки, когда метод поиска является методом опроса. Смотрите Поиск и Опрос. Для структуры опций используйте |
|
Пример: options = optimoptions('paretosearch','Display','none','UseParallel',true)
problem
— Структура задачиСтруктура задачи, заданная как структура со следующими полями:
цель
Целевая функция
x0
Отправная точка
Aineq
— Матрица для линейных ограничений неравенства
bineq
— Вектор для линейных ограничений неравенства
Aeq
— Матрица для линейных ограничений равенства
beq
— Вектор для линейных ограничений равенства
lb
— Нижняя граница для x
ub
— Верхняя граница для x
nonlcon
— Нелинейная ограничительная функция
solver
— 'paretosearch'
опции
Опции создаются с optimoptions
Поле rngstate
— Optional, чтобы сбросить состояние генератора случайных чисел
Все поля в problem
требуются, за исключением rngstate
, который является дополнительным.
Типы данных: struct
x
Точки Паретоm
-by-nvars
массивТочки Парето, возвращенные как m
-by-nvars
массив, где m
является числом точек на передней стороне Парето. Каждая строка x
представляет одну точку на передней стороне Парето.
fval
Значения функции на передней стороне Паретоm
-by-nf
массивЗначения функции на передней стороне Парето, возвращенной как m
-by-nf
массив. m
является числом точек на передней стороне Парето, и nf
является количеством функций фитнеса. Каждая строка fval
представляет значения функции в одной точке Парето в x
.
exitflag
Обоснуйте остановленный paretosearch
Обоснуйте, что остановленный paretosearch
, возвратился как одно из целочисленных значений в этой таблице.
Exitflag | Остановка условия |
---|---|
1 | Одному из следующих условий отвечают.
|
0 | Количество итераций превышает options.MaxIterations , или количество функциональных оценок превышает options.MaxFunctionEvaluations . |
-1 | Оптимизация останавливается выходной функцией или функцией построения графика. |
-2 | Решатель не может найти точку, удовлетворяющую все ограничения. |
-5 | Время оптимизации превышает options.MaxTime . |
вывод
Информация о процессе оптимизацииИнформация о процессе оптимизации, возвращенном как структура с этими полями:
iterations
— Общее количество итераций.
funccount
— Общее количество функциональных оценок.
объем
Гиперобъем набора, сформированного от Парето, указывает в функциональном пространстве. См. Определения для paretosearch Алгоритма.
averagedistance
— Средняя мера по расстоянию Парето указывает в функциональном пространстве. См. Определения для paretosearch Алгоритма.
spread
— Мера по среднему спреду точек Парето. См. Определения для paretosearch Алгоритма.
maxconstraint
— Максимальное ограничительное нарушение, если таковые имеются.
сообщение
Рассуждайте почему отключенный алгоритм.
rngstate
— Состояние генератора случайных чисел MATLAB незадолго до алгоритма запускается. Можно использовать значения в rngstate
, чтобы воспроизвести вывод, когда вы используете случайный метод опроса, такой как 'MADSPositiveBasis2N'
или когда вы используете квазислучайный метод по умолчанию создания начальной генеральной совокупности. Смотрите Воспроизводят Результаты, который обсуждает идентичный метод для ga
.
residuals
— Ограничительные невязки в x
Ограничительные невязки в x
, возвращенном как структура с этими полями (глоссарий условий размера поля и записей следует таблице).
Имя поля | Размер поля | Записи |
---|---|---|
lower | m -by-nvars | lb – x |
upper | m -by-nvars | x ub |
ineqlin | m -by-ncon | A*x - b |
eqlin | m -by-ncon | |Aeq*x - b| |
ineqnonlin | m -by-ncon | c(x) |
m
Количество возвращенных точек x
на передней стороне Парето
nvars
— Количество контрольных переменных
ncon
— Количество ограничений соответствующего типа (таких как количество строк A
или количество возвращенных нелинейных равенств)
c(x)
— Числовые значения нелинейных ограничительных функций
Точки, над которыми не доминируют, также названные ненижними точками, являются точками, для которых никакая другая точка не имеет нижние значения всех целевых функций. Другими словами, для точек, над которыми не доминируют, ни одно из значений целевой функции не может быть улучшено (пониженное), не повышая другие значения целевой функции. Смотрите то, Что Многоцелевая Оптимизация?.
paretosearch
использует поиск шаблона, чтобы искать точки на передней стороне Парето. Для получения дополнительной информации см. paretosearch Алгоритм.
Чтобы запуститься параллельно, установите опцию 'UseParallel'
на true
.
options = optimoptions('solvername','UseParallel',true)
Для получения дополнительной информации смотрите, Как Использовать Параллельную обработку в Global Optimization Toolbox.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.