UpperBound: IExpression;
Свойство UpperBound возвращает выражение, содержащее верхнее ограничение.
Для выполнения примера предполагается наличие в контейнере задачи оптимального управления.
Sub Main;
Var
MB: IMetabase;
MObj: IMetabaseObject;
Problem: IMsProblem;
ControlProblem: IMsControlProblem;
Transform: IMsFormulaTransform;
Term1: IMsFormulaTerm;
TrVar: IMsFormulaTransformVariable;
Slice: IMsFormulaTransformSlice;
Constrs: IMsNonLinearConstraints;
Constr: IMsNonLinearConstraint;
Begin
MB := MetabaseClass.Active;
MObj := MB.ItemByIdNamespace("New_ControlProblem", MB.ItemById("KONT_MODEL").Key).Edit;
Problem := MObj As IMsProblem;
ControlProblem := Problem.Details As IMsControlProblem;
Transform := ControlProblem.Model.Transform;
Constrs := ControlProblem.Constraints;
Constr := Constrs.Add;
TrVar := Transform.Inputs.Item(0);
Slice := TrVar.Slices.Item(0);
Term1 := Constr.Operands.Add(Slice);
Constr.Expression.AsString := Term1.TermToInnerText;
Constr.LowerBound.AsString := "-150";
Constr.UpperBound.AsString := "150";
MObj.Save;
End Sub Main;
После выполнения примера в задачу будет добавлено новое ограничение.
См. также: