Execute;
Execute();
Метод Execute выполняет расчет управляющих переменных.
Для получения и изменения значения переменных используйте методы ICallbackCycle.GetTermValue и ICallbackCycle.SetControlVariableValue.
Для выполнения примера добавьте ссылку на системную сборку «Cp».
Class MyCallbackCycle: Object, ICallbackCycle
Public
U_Vars, P_Vars: INonLoVariables;
U, P: array[10] Of double;
Vrbl: INonLoVariable;
Public Function GetTermValue(EquationNumber: Integer; TimeMoment: Integer): Variant;
Begin
Return P[EquationNumber];
End Function GetTermValue;
Public Sub SetControlVariableValue(VariableNumber: Integer; TimeMoment: Integer; Value: Double);
Begin
U[VariableNumber] := Value * TimeMoment / 100;
End Sub SetControlVariableValue;
Public Sub Execute;
Begin
P := U;
End Sub Execute;
End Class MyCallbackCycle;
Использование данного класса для расчёта нелинейной оптимизации приведено в описании ICpNonLinearOptimization.CallbackCycle.
Imports Prognoz.Platform.Interop.Cp;
…
Public Class MyCallbackCycle: Object, ICallbackCycle
Shared
U_Vars: INonLoVariables;
P_Vars: INonLoVariables;
U: array[10] Of double;
P: array[10] Of double;
Vrbl: INonLoVariable;
Public Function GetTermValue(EquationNumber: Integer; TimeMoment: Integer): object;
Begin
Return P[EquationNumber];
End Function GetTermValue;
Public Sub SetControlVariableValue(VariableNumber: Integer; TimeMoment: Integer; Value: Double);
Begin
U[VariableNumber] := Value * TimeMoment / 100;
End Sub SetControlVariableValue;
Public Sub Execute();
Begin
P := U;
End Sub Execute;
End Class MyCallbackCycle;
Использование данного класса для расчёта нелинейной оптимизации приведено в описании ICpNonLinearOptimization.CallbackCycle.
См. также: