Сетевая оценка целей и ограничений оптимизации
Y = gridEvaluate(optimstore, X) Y = gridEvaluate(optimstore, X, objconname) Y = gridEvaluate(optimstore, X, objconname, datasetname) Y = gridEvaluate(optimstore, X, objconname, datasetname, rowind)
Метод cgoptimstore
.
Y = gridEvaluate(optimstore, X)
оценивает все цели и ограничения в точках X для текущего запуска. Этот вызов дает те же результаты, что и эквивалентный вызов cgoptimstore/evaluate
.
Y = gridEvaluate(optimstore, X, objconname)
оценивает цели/ограничения, заданные в массиве ячеек objconname
как описано выше.
Y = gridEvaluate(optimstore, X, objconname, datasetname)
оценивает все цели и ограничения во всех комбинациях точек в datasetname
с X
. Матрица возвратов, Y
, имеет размер SIZE(X,1)-by-(NOBJ+NCON)-by-NPTS
, где NOBJ
количество целей, NCON
количество ограничений и NPTS
количество строк в P
. Далее, Y(I, J, K)
- значение J-ой цели/ограничения в X(I, :)
и P(K, :). Y
масштабируется на [-1 1].
Цели: O1
, O2
Ограничения: C1
, C2
Основной набор данных:
A | B |
---|---|
4 | 5 |
1 | 3 |
Свободные переменные:
X1 | X2 | X3 |
---|---|---|
2 | 4 | 8 |
1 | 9 | 3 |
6 | 2 | 7 |
X
В этом случае следующая команда
Y = gridEvaluate(optimstore, X)
оценивает цели и ограничения в следующих точках:
A | B | X1 | X2 | X3 |
---|---|---|---|---|
4 | 5 | 2 | 4 | 8 |
4 | 5 | 1 | 9 | 3 |
4 | 5 | 6 | 2 | 7 |
1 | 3 | 2 | 4 | 8 |
1 | 3 | 1 | 9 | 3 |
1 | 3 | 6 | 2 | 7 |
Y
- матрица 3 на 4 на 2, где
Y (:, 1, 1) = Значения 01 при A = 4, B = 5
Y (:, 2, 1) = Значения 02 при A = 4, B = 5
Y (:, 3, 1) = Значения C1 при A = 4, B = 5
Y (:, 4, 1) = Значения C2 при A = 4, B = 5
Y (:, 1, 2) = Значения 01 при A = 1, B = 3
Y (:, 2, 2) = Значения 02 при A = 1, B = 3
Y (:, 3, 2) = Значения C1 при A = 1, B = 3
Y (:, 4, 2) = Значения C2 при A = 1, B = 3
Y = gridEvaluate(optimstore, X, objconname, datasetname, rowind)
оценивает указанные цели/ограничения в точках datasetname
задается rowind
как описано выше. Y
является length
(rowind
) по length
(objconname
) по npts
матрица.