StubCoefficient: IStubSelection;
The StubCoefficient property determines a data source to create criterion function coefficients.
Executing the example requires that the repository contains a calculation algorithm with the ALGORITHM identifier. A linear optimization block.
Add links to the Algo, Metabase system assemblies. Add links to the assemblies required for working with calculation algorithms.
Sub UserProc;
Var
MB: IMetabase;
MObj: IMetabaseObjectDescriptor;
Algo, CalcBlock: ICalcObject;
List: ICalcObjectsList;
CalcAlgo: ICalcAlgorithm;
Block: ICalcLinearOptimizationBlock;
Begin
MB := MetabaseClass.Active;
// Get calculation algorithm
MObj := MB.ItemById("ALGORITHM");
Algo := CalcObjectFactory.CreateCalcObject(MObj, True);
CalcAlgo := Algo As ICalcAlgorithm;
// Get list of calculation algorithm objects
List := CalcAlgo.Items;
// Get linear optimization block
CalcBlock := List.Item(0);
Block := CalcBlock As ICalcLinearOptimizationBlock;
// View information about linear optimization block
ShowStub(Block.StubCoefficient);
ShowStub(Block.StubValues);
ShowStub(Block.StubLowRestriction);
ShowStub(Block.StubHighRestriction);
ShowStub(Block.StubExpressionRestriction);
ShowStub(Block.StubResult);
End Sub UserProc;
Sub ShowStub(Stub: IStubSelection);
Var
s: String;
Begin
s := (IsNull(Stub.Stub)? "Data source is not set." : Stub.Stub.Name + '(' + Stub.Stub.Id + ')');
Select Case Stub.Type
Case OptimizationStubType.Coefficient: Debug.WriteLine("Criterion function coefficients : " + s);
Case OptimizationStubType.Values: Debug.WriteLine("Initial values of controlling variables :" + s);
Case OptimizationStubType.LowRestriction: Debug.WriteLine("Lower limit values : " + s);
Case OptimizationStubType.HighRestriction: Debug.WriteLine("Upper limit values : " + s);
Case OptimizationStubType.ExpressionRestriction: Debug.WriteLine("Constraints for expressions : " + s);
Case OptimizationStubType.ResultFunction: Debug.WriteLine("Calculation result data consumer : " + Stub.Stub.Name + '(' + Stub.Stub.Id + ')');
End Select;
End Sub ShowStub;
After executing the example the development environment console displays information about various data sources and data consumer used in the linear optimization block.
See also: