Найти точки в наборе Парето
задает набор нижних и верхних границ переменных проектов в 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. The paretosearch функция находит недоминированные точки, такие что c(x) ≤ 0. Если никаких границ не существует, задайте lb = [], ub = [], или и то, и другое.
Примечание
В настоящее время, paretosearch не поддерживает нелинейные ограничения равенства ceq(x) = 0.
Найти точки на фронте Парето двухцелевой функции двумерной переменной.
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 возвращает равномерно расположенные точки рядом с этой линией.
Создайте фронт Парето для двухцелевой задачи в двух размерностях, удовлетворяющих линейному ограничению 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 возвращает равномерно расположенные точки рядом с этой линией.
Создайте фронт Парето для двухцелевой задачи в двух размерностях, удовлетворяющих границам 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.
Создайте фронт Парето для двухцелевой задачи в двух размерностях, удовлетворяющих границам -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.002619.
Максимально возвращенные невязки отрицательны, что означает, что все возвращенные точки допустимы. Максимально возвращенные невязки близки к нулю, что означает, что каждое ограничение активно для некоторых точек.
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 элементы.
Для примера, чтобы задать
<reservedrangesplaceholder1> 1 + 2 <reservedrangesplaceholder0> 2 10
3 <reservedrangesplaceholder1> 1 + 4 <reservedrangesplaceholder0> 2 20
5 <reservedrangesplaceholder1> 1 + 6 <reservedrangesplaceholder0> 2 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.
Для примера, чтобы задать
<reservedrangesplaceholder1> 1 + 2 <reservedrangesplaceholder0> 2 10
3 <reservedrangesplaceholder1> 1 + 4 <reservedrangesplaceholder0> 2 20
5 <reservedrangesplaceholder1> 1 + 6 <reservedrangesplaceholder0> 2 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 элементы.
Для примера, чтобы задать
<reservedrangesplaceholder2> 1 + 2 <reservedrangesplaceholder1> 2 + 3 <reservedrangesplaceholder0> 3 = 10
2 <reservedrangesplaceholder2> 1 + 4 <reservedrangesplaceholder1> 2 + <reservedrangesplaceholder0> 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.
Для примера, чтобы задать
<reservedrangesplaceholder2> 1 + 2 <reservedrangesplaceholder1> 2 + 3 <reservedrangesplaceholder0> 3 = 10
2 <reservedrangesplaceholder2> 1 + 4 <reservedrangesplaceholder1> 2 + <reservedrangesplaceholder0> 3 = 20,
задайте следующие ограничения:
Aeq = [1,2,3;2,4,1]; beq = [10;20];
Пример: Чтобы задать, что переменные управления равны 1, дайте ограничения Aeq = ones(1,N) и beq = 1.
Типы данных: double
lb - Нижние границы[] (по умолчанию) | вектор действительных чисел или массивНижние границы, заданные как вектор действительных чисел или массив типа double. lb представляет нижние границы поэлементно в lb ≤ x ≤ ub.
Внутренне, paretosearch преобразует массив lb в векторную lb(:).
Пример: lb = [0;-Inf;4] означает x(1) ≥ 0, x(3) ≥ 4.
Типы данных: double
ub - Верхние границы[] (по умолчанию) | вектор действительных чисел или массивВерхние границы, заданные как вектор действительных чисел или массив типа double. 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.
Для получения дополнительной информации см. Раздел «Нелинейные ограничения».
Типы данных: char | function_handle | string
options - Опции оптимизацииoptimoptions | структураОпции оптимизации, заданные как выход optimoptions или как структура.
optimoptions скрывает опции, перечисленные курсивом; см. Опции, которые скрывает оптимизация.
{} обозначает значение по умолчанию. Подробные сведения об опциях см. в разделе «Параметры поиска по шаблону».
Опции для patternsearch и paretosearch
| Опция | Описание | Значения |
|---|---|---|
| Допуск на ограничения. Для структуры опций используйте | Положительная скалярная величина | |
| Level of display. | 'off' | 'iter' | 'diagnose' | {'final'} |
| Максимальное количество вычислений целевой функции. Для структуры опций используйте | Положительное целое число | |
| Максимальное количество итераций. Для структуры опций используйте | Положительное целое число | |
| Общее время (в секундах), допустимое для оптимизации. Для структуры опций используйте | Положительная скалярная величина | |
| Допуск размера сетки. Для структуры опций используйте | Положительная скалярная величина | |
| Функция, которая вызывается оптимизационной функцией при каждой итерации. Задайте как указатель на функцию или cell-массив указателей на функцию. Для структуры опций используйте | Указатель на функцию или cell-массив указателей на функцию | |
| Графики выхода из поиска шаблона. Задайте как имя встроенной функции построения графика, указателя на функцию или массива ячеек с именами встроенных функций построения графика или указателей на функцию. Для структуры опций используйте |
Для Для |
| Стратегия опроса, используемая в поиске шаблона. |
Для |
| Вычислите функции объектива и нелинейных ограничений параллельно. См. Векторизованные и параллельные опции и как использовать параллельную обработку в Global Optimization Toolbox. Примечание Вы должны задать Начиная с R2019a, когда вы устанавливаете |
|
| Определяет, векторизированы ли функции. Смотрите Векторизованные и параллельные опции и Векторизация функций цели и ограничения. Примечание Вы должны задать Для структуры опций используйте |
|
Опции для paretosearch Только
| Опция | Описание | Значения |
|---|---|---|
| Начальные точки для
| Матрица с |
| Минимальная доля шаблона для опроса. | Скаляр от 0 до 1 | |
| Число точек в наборе Парето. | Положительное целое число | |
| Решатель останавливается, когда относительное изменение меры остановки в окне итераций меньше или равно
Смотрите Определения для Алгоритма Паретосеарха. Решатель останавливается, когда относительное изменение любой применимой меры меньше Примечание Настройка | Положительная скалярная величина | |
Опции для patternsearch Только
| Опция | Описание | Значения |
|---|---|---|
| Кэш | С Примечание
|
|
| CacheSize | Размер истории. | Положительная скалярная величина | |
| CacheTol | Наибольшее расстояние от текущей точки сетки до любой точки в истории в порядок для | Положительная скалярная величина | |
FunctionTolerance | Допуск на функцию. Итерации останавливаются, если изменение значения функции меньше Для структуры опций используйте | Положительная скалярная величина | |
InitialMeshSize | Начальный размер сетки для алгоритма. Смотрите, как работает опрос поиска шаблона. | Положительная скалярная величина | |
| InitialPenalty | Начальное значение параметра штрафа. См. Алгоритм нелинейного решателя ограничений. | Положительная скалярная величина | |
| MaxMeshSize | Максимальный размер сетки, используемый на шаге опроса или поиска. Смотрите, как работает опрос поиска шаблона. | Положительная скалярная величина | |
MeshContractionFactor | Коэффициент сужения сетки для неудачной итерации. Для структуры опций используйте | Положительная скалярная величина | |
MeshExpansionFactor | Коэффициент расширения сетки для успешной итерации. Для структуры опций используйте | Положительная скалярная величина | |
| MeshRotate | Поверните шаблон перед объявлением точки оптимальной. См. Раздел «Опции сетки» |
|
| PenaltyFactor | Параметр обновления штрафа. См. Алгоритм нелинейного решателя ограничений. | Положительная скалярная величина | |
| PlotInterval | Задает, что функции построения графика вызываются с каждым интервалом. | положительное целое число | |
PollOrderAlgorithm | Порядок направления опроса в поиске шаблона. Для структуры опций используйте |
|
ScaleMesh | Автоматическое масштабирование переменных. Для структуры опций используйте |
|
SearchFcn | Тип поиска, используемый в поиске шаблона. Задайте как имя или указатель на функцию. Для структуры опций используйте |
|
StepTolerance | Допуск по переменной. Итерации останавливаются, если и изменение положения, и размер сетки меньше Для структуры опций используйте | Положительная скалярная величина | |
| TolBind | Допуск привязки. См. «Ограничение Параметров». | Положительная скалярная величина | |
UseCompletePoll | Завершите опрос вокруг текущей точки. Смотрите, как работает опрос поиска шаблона. Для структуры опций используйте |
|
UseCompleteSearch | Завершите поиск вокруг текущей точки, когда метод поиска является методом опроса. Смотрите Поиск и опрос. Для структуры опций используйте |
|
Пример: options = optimoptions('paretosearch','Display','none','UseParallel',true)
problem - Структура задачиСтруктура задачи, заданная как структура со следующими полями:
objective - Целевая функция
x0 - Начальная точка
Aineq - Матрица для линейных ограничений неравенства
bineq - Вектор для линейных ограничений неравенства
Aeq - Матрица для линейных ограничений равенства
beq - Вектор для линейных ограничений равенства
lb - нижняя граница для x
ub - Верхняя граница для x
nonlcon - Нелинейная функция ограничения
solver — 'paretosearch'
options - Опции, созданные с optimoptions
rngstate - Необязательное поле для сброса состояния генератора случайных чисел
Примечание
Все поля в 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 stop, возвращается как одно из целочисленных значений в этой таблице.
| Выходной флаг | Условие остановки |
|---|---|
1 | Выполняется одно из следующих условий.
|
0 | Количество итераций превышает options.MaxIterations, или количество вычислений функции превышает options.MaxFunctionEvaluations. |
-1 | Оптимизация останавливается выходной функцией или функцией построения графика. |
-2 | Решатель не может найти точку, удовлетворяющую всем ограничениям. |
-5 | Время оптимизации превышает options.MaxTime. |
output - Информация о процессе оптимизацииИнформация о процессе оптимизации, возвращенная как структура с этими полями:
iterations - Общее количество итераций.
funccount - Общее количество вычислений функции.
volume - Гипер-объем множества, образованного из точек Парето в функциональном пространстве. Смотрите Определения для Алгоритма Паретосеарха.
averagedistance - Средняя мера расстояния точек Парето в функциональном пространстве. Смотрите Определения для Алгоритма Паретосеарха.
spread - Средняя мера разброса точек Парето. Смотрите Определения для Алгоритма Паретосеарха.
maxconstraint - Максимальное нарушение ограничений, если таковые имеются.
message - Причина, по которой алгоритм остановился.
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 использует поиск шаблона для поиска точек на фронте Парето. Для получения дополнительной информации смотрите Алгоритм Паретозарха.
Задача Optimize Live Editor обеспечивает визуальный интерфейс для paretosearch.
Чтобы запустить параллельно, установите 'UseParallel' опция для true.
опции = optimoptions ('solvername',' UseParallel ', true)
Для получения дополнительной информации см. раздел «Как использовать параллельную обработку в Global Optimization Toolbox».
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.