IMsUORuntime.Coord

Syntax

Coord: IMsFormulaTransformCoord;

Description

The Coord property returns the current coordinate, in which calculation is executed.

Example

Executing the example requires that the repository contains a modeling container containing a custom optimization model. The problem should have a unit that implements a custom algorithm. Consider the example of this unit contents.

Add links to the Ms and Xml system assemblies.

Public Class UserOptimization: Object, IMsUserOptimizationCallback
    Public Sub OnLoad(Xml: IXMLDOMElement);
    Begin
    End Sub OnLoad;

    Public Sub OnSave(Xml: IXMLDOMElement);
    Begin
    End Sub OnSave;

    Public Sub OnBeforeExecute(Calculation: IMsMethodCalculation; Coord: IMsFormulaTransformCoord; Problem: IMsUserOptimizationProblem);
    Begin
    End Sub OnBeforeExecute;

    Public Sub OnExecute(Runtime: IMsUORuntime);
    Var
        Coord: IMsFormulaTransformCoord;
        i, c: Integer;
    Begin
        Coord := Runtime.Coord;
        Debug.WriteLine("--------------------------------------");
        c := Coord.Count;
        Debug.Write("Coord: ");
        For i := 0 To c - 1 Do
            Debug.Write(Coord.Item(i).ToString + " ");
        End For;
        Debug.WriteLine("");
        // Calculate equations in the current point
        Runtime.Equations.ExecuteAll;
    End Sub OnExecute;

    Public Sub OnAfterExecute(Calculation: IMsMethodCalculation; Coord: IMsFormulaTransformCoord; Problem: IMsUserOptimizationProblem);
    Begin
    End Sub OnAfterExecute;

    Public Sub OnSetupParams(Params: IMsModelParams);
    Begin
    End Sub OnSetupParams;
End Class UserOptimization;

When a custom optimization problem is is started, the OnExecute event will occur in each calculation point. The development environment console will display indexes of dimension elements that create a coordinate in each calculation point. After this all equations will be calculated.

See also:

IMsUORuntime