Найдите точки во Множестве Парето
задает набор нижних и верхних границ на переменных проекта в 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'
функция plot.
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
- nvars
, где матрица представляет n
индивидуумы. fun
возвращает матрицу размера n
- m
, где m
количество целевых функций. Смотрите Векторизуют Функцию Фитнеса.
Пример: @(x)[sin(x),cos(x)]
Типы данных: char |
function_handle
| string
nvars
— Количество переменныхКоличество переменных, заданных как положительное целое число. Решатель передает векторы-строки из длины nvars
к fun
.
Пример 4
Типы данных: double
A
— Линейные ограничения неравенстваЛинейные ограничения неравенства, заданные как действительная матрица. A
M
- 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
- 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
- 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
- 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
- nvars
, где матрица представляет n
индивидуумы. nonlcon
возвращает матрицу размера n
- 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
options
— Опции оптимизацииoptimoptions
| структураОпции оптимизации, заданные как выход optimoptions
или как структура.
optimoptions
скрывает опции, перечисленные курсивом; см. Опции, которые Скрывает optimoptions.
{}
обозначает значение по умолчанию. Смотрите детали опции в Параметрах поиска Шаблона.
Опции для patternsearch
и paretosearch
Опция | Описание | Значения |
---|---|---|
| Допуск на ограничениях. Для структуры опций используйте | Положительная скалярная величина | |
| Level of display. | '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
— Структура задачиСтруктура задачи, заданная как структура со следующими полями:
objective
— Целевая функция
x0
— Начальная точка
Aineq
— Матрица для линейных ограничений неравенства
bineq
— Вектор для линейных ограничений неравенства
Aeq
— Матрица для линейных ограничений равенства
beq
— Вектор для линейных ограничений равенства
lb
— Нижняя граница для x
ub
— Верхняя граница для x
nonlcon
— Нелинейная ограничительная функция
solver
— 'paretosearch'
options
— Опции создаются с optimoptions
rngstate
— Дополнительное поле, чтобы сбросить состояние генератора случайных чисел
Все поля в problem
требуются, за исключением rngstate
, который является дополнительным.
Типы данных: struct
x
— Точки Паретоm
- nvars
массивТочки Парето, возвращенные как m
- nvars
массив, где m
число точек на передней стороне Парето. Каждая строка x
представляет одну точку на передней стороне Парето.
fval
— Значения функции на передней стороне Паретоm
- nf
массивЗначения функции на передней стороне Парето, возвращенной как m
- nf
массив. m
число точек на передней стороне Парето и nf
количество функций фитнеса. Каждая строка fval
представляет значения функции в одной точке Парето в x
.
exitflag
— Обоснуйте paretosearch
остановленныйОбоснуйте paretosearch
остановленный, возвращенный как одно из целочисленных значений в этой таблице.
Exitflag | Остановка условия |
---|---|
1
| Одному из следующих условий отвечают.
|
0
| Количество итераций превышает options.MaxIterations , или количество функциональных оценок превышает options.MaxFunctionEvaluations . |
-1
| Оптимизация останавливается выходной функцией или функцией построения графика. |
-2
| Решатель не может найти точку, удовлетворяющую всем ограничениям. |
-5
| Время оптимизации превышает options.MaxTime . |
output
— Информация о процессе оптимизацииИнформация о процессе оптимизации, возвращенном как структура с этими полями:
iterations
— Общее количество итераций.
funccount
— Общее количество функциональных оценок.
volume
— Гиперобъем набора, сформированного от Парето, указывает в функциональном пространстве. См. Определения для paretosearch Алгоритма.
averagedistance
— Средняя мера по расстоянию Парето указывает в функциональном пространстве. См. Определения для paretosearch Алгоритма.
spread
— Мера по среднему спреду точек Парето. См. Определения для paretosearch Алгоритма.
maxconstraint
— Максимальное ограничительное нарушение, если таковые имеются.
message
— Рассуждайте почему отключенный алгоритм.
rngstate
— Состояние генератора случайных чисел MATLAB незадолго до алгоритма запускается. Можно использовать значения в rngstate
воспроизвести выход, когда вы используете случайный метод опроса, такой как 'MADSPositiveBasis2N'
или когда вы используете квазислучайный метод по умолчанию создания начальной генеральной совокупности. Смотрите Воспроизводят Результаты, который обсуждает идентичный метод для ga
.
residuals
— Ограничительные остаточные значения в x
Ограничительные остаточные значения в x
, возвращенный как структура с этими полями (глоссарий условий размера поля и записей следует таблице).
Имя поля | Размер поля | Записи |
---|---|---|
lower | m - nvars | lb X |
upper | m - nvars | x – ub |
ineqlin | m - ncon | A*x - b |
eqlin | m - ncon | |Aeq*x - b| |
ineqnonlin | m - ncon | c(x) |
m
— Количество возвращенных точек x
на передней стороне Парето
nvars
— Количество контрольных переменных
ncon
— Количество ограничений соответствующего типа (таких как количество строк A
или количество возвращенных нелинейных равенств)
c(x)
— Числовые значения нелинейных ограничительных функций
Точки, над которыми не доминируют, также названные ненижними точками, являются точками, для которых никакая другая точка не имеет нижние значения всех целевых функций. Другими словами, для точек, над которыми не доминируют, ни одно из значений целевой функции не может быть улучшено (пониженное), не повышая другие значения целевой функции. Смотрите то, Что Многоцелевая Оптимизация?.
paretosearch
использует поиск шаблона, чтобы искать точки на передней стороне Парето. Для получения дополнительной информации см. paretosearch Алгоритм.
Чтобы запуститься параллельно, установите 'UseParallel'
опция к true
.
опции = optimoptions ('
solvername
', 'UseParallel', верный)
Для получения дополнительной информации смотрите, Как Использовать Параллельную обработку в Global Optimization Toolbox.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.