@frontlinesystems/rason-mcp-server 2026.5.1 → 2026.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +35 -35
- package/examples/EXAMPLES_REFERENCE.md +128 -128
- package/examples/{optimization → Optimization}/Conic/AirlineHubConic.json +111 -111
- package/examples/{optimization → Optimization}/Conic/AirlineHubConic2.json +108 -108
- package/examples/{optimization → Optimization}/Conic/AirlineHubConic3.json +111 -111
- package/examples/{optimization → Optimization}/Conic/AirlineHubConic4.json +99 -99
- package/examples/{optimization → Optimization}/Conic/AirlineHubConic5.json +101 -101
- package/examples/{optimization → Optimization}/DataBinding/ProductMixCsv.json +81 -81
- package/examples/{optimization → Optimization}/DataBinding/ProductMixCsv4.json +96 -96
- package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel.json +73 -73
- package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel1.json +86 -86
- package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel11.json +108 -108
- package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel2.json +77 -77
- package/examples/{optimization → Optimization}/DataBinding/ProductMixTab.json +89 -89
- package/examples/{optimization → Optimization}/DataBinding/ProductMixTab1.json +73 -73
- package/examples/{optimization → Optimization}/DataBinding/ProductMixTab2.json +77 -77
- package/examples/{optimization → Optimization}/Linear/Inventory.json +199 -199
- package/examples/{optimization → Optimization}/Linear/Matop.json +119 -119
- package/examples/{optimization → Optimization}/Linear/ProductMix.json +97 -97
- package/examples/{optimization → Optimization}/Linear/ProductMix2.json +72 -72
- package/examples/{optimization → Optimization}/Linear/ProductMix3.json +49 -49
- package/examples/{optimization → Optimization}/Linear/ProductMix4.json +56 -56
- package/examples/{optimization → Optimization}/Linear/ProductMixCsv1.json +106 -106
- package/examples/{optimization → Optimization}/Linear/ProductMixCsv2.json +106 -106
- package/examples/{optimization → Optimization}/Linear/ProductMixSQL11.json +82 -82
- package/examples/{optimization → Optimization}/Linear/Rowop.json +126 -126
- package/examples/{optimization → Optimization}/NonLinear/AirlineHub.json +63 -63
- package/examples/{optimization → Optimization}/NonLinear/AirlineHub2.json +47 -47
- package/examples/{optimization → Optimization}/NonLinear/AirlineHub3.json +47 -47
- package/examples/{optimization → Optimization}/NonSmooth/Inventory2.json +159 -159
- package/examples/{optimization → Optimization}/Quadratic/PortfolioOpt.json +55 -55
- package/examples/{optimization → Optimization}/Quadratic/PortfolioOpt2.json +65 -65
- package/examples/{optimization → Optimization}/WithUncertainty/GasCompanyChance.json +78 -78
- package/examples/{optimization → Optimization}/WithUncertainty/GasCompanyRecourse.json +78 -78
- package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect.json +77 -77
- package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect2.json +81 -81
- package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect3.json +84 -84
- package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect4.json +74 -74
- package/examples/{simulation → Simulation}/CandyStoreSalesUsingSIP.json +147 -147
- package/examples/{simulation → Simulation}/CollegeFundGrowth1.json +423 -423
- package/examples/{simulation → Simulation}/CollegeFundGrowth1SIPModel.json +27 -27
- package/examples/{simulation → Simulation}/CollegeFundGrowth2.json +415 -415
- package/examples/{simulation → Simulation}/CollegeFundGrowthSIP.json +401 -401
- package/examples/{simulation → Simulation}/GBMSimulationModel.json +236 -236
- package/examples/{simulation → Simulation}/YieldManagement(Sim).json +69 -69
- package/examples/{simulation → Simulation}/YieldManagement2(Sim).json +72 -72
- package/examples/calculation/DMNExamples/DMN Box Fun with typeDef result.json +53 -53
- package/examples/calculation/DMNExamples/DMN Context example.json +69 -69
- package/examples/calculation/DMNExamples/DMN DT with typeDef result.json +43 -43
- package/examples/calculation/DMNExamples/FEEL Date Time example.json +28 -28
- package/examples/calculation/DMNExamples/FEEL For iteration example.json +66 -66
- package/examples/calculation/DMNExamples/FEEL For with two indices.json +15 -15
- package/examples/calculation/DMNExamples/FEEL For with typeDef result.json +88 -88
- package/examples/calculation/DMNExamples/FEEL If Then Else example.json +25 -25
- package/examples/calculation/DMNExamples/FEEL List example.json +37 -37
- package/examples/calculation/DMNExamples/FEEL List operator.json +17 -17
- package/examples/calculation/DMNExamples/FEEL List with typeDef collection.json +36 -36
- package/examples/calculation/DMNExamples/FEEL Some or Every example.json +65 -65
- package/examples/calculation/DecisionTables/DT Datasource example.json +52 -52
- package/examples/calculation/DecisionTables/DT Date and Time examples.json +91 -91
- package/examples/calculation/DecisionTables/DT Expression example.json +32 -32
- package/examples/calculation/DecisionTables/DT Hit Policy examples.json +136 -136
- package/examples/calculation/DecisionTables/DT Loan Recommend model.json +81 -81
- package/examples/calculation/DecisionTables/DT Loan Strategy Model and Predictive CSV-XML.json +218 -218
- package/examples/calculation/DecisionTables/DT Loan Strategy model and Datasource.json +286 -286
- package/examples/calculation/DecisionTables/DT Loan Strategy model and Predictive.json +203 -203
- package/examples/calculation/DecisionTables/DT Loan Strategy model by scratch.json +214 -214
- package/examples/calculation/DecisionTables/DT Output Order example.json +39 -39
- package/examples/calculation/DecisionTables/DT Unique example.json +38 -38
- package/examples/calculation/TypeDefinitions/TypeDefCF.json +64 -64
- package/examples/calculation/TypeDefinitions/TypeDefDT.json +57 -57
- package/examples/datamining/AffinityAnalysis/AssociationRules.json +51 -51
- package/examples/datamining/Classification/DecisionTree.json +90 -90
- package/examples/datamining/Classification/DiscriminantAnalysis.json +81 -81
- package/examples/datamining/Classification/Ensembles/Bagging.json +66 -66
- package/examples/datamining/Classification/Ensembles/Boosting.json +67 -67
- package/examples/datamining/Classification/Ensembles/RandomTrees.json +91 -91
- package/examples/datamining/Classification/FindBestModel.json +86 -86
- package/examples/datamining/Classification/LogisticRegression.json +82 -82
- package/examples/datamining/Classification/NaiveBayes.json +78 -78
- package/examples/datamining/Classification/NearestNeighbors.json +84 -84
- package/examples/datamining/Classification/NeuralNetwork.json +92 -92
- package/examples/datamining/Clustering/Hierarchical.json +54 -54
- package/examples/datamining/Clustering/KMeans.json +71 -71
- package/examples/datamining/DataSources/DelimitedFile.json +49 -49
- package/examples/datamining/DataSources/JSONFile.json +49 -49
- package/examples/datamining/DataSources/MSAccessDatabase.json +49 -49
- package/examples/datamining/DataSources/MSExcelTable.json +50 -50
- package/examples/datamining/DataSources/MSSQLDatabase.json +49 -49
- package/examples/datamining/DataSources/ODATATable.json +49 -49
- package/examples/datamining/DataSources/ODBCDatabase.json +49 -49
- package/examples/datamining/FeatureSelection/LinearWrapping.json +53 -53
- package/examples/datamining/FeatureSelection/LogisticWrapping.json +56 -56
- package/examples/datamining/FeatureSelection/Univariate.json +78 -78
- package/examples/datamining/Regression/DecisionTree.json +82 -82
- package/examples/datamining/Regression/Ensembles/Bagging.json +62 -62
- package/examples/datamining/Regression/Ensembles/Boosting.json +62 -62
- package/examples/datamining/Regression/Ensembles/RandomTrees.json +78 -78
- package/examples/datamining/Regression/FindBestModel.json +86 -86
- package/examples/datamining/Regression/LinearRegression.json +124 -124
- package/examples/datamining/Regression/NearestNeighbors.json +77 -77
- package/examples/datamining/Regression/NeuralNetwork.json +82 -82
- package/examples/datamining/Scoring/JSONClassifier.json +62 -62
- package/examples/datamining/Scoring/JSONClassifierNN.json +62 -62
- package/examples/datamining/Scoring/JSONClusterizer.json +37 -37
- package/examples/datamining/Scoring/JSONForecaster.json +49 -49
- package/examples/datamining/Scoring/JSONLinearRegression.json +56 -56
- package/examples/datamining/Scoring/JSONPCA.json +41 -41
- package/examples/datamining/Scoring/JSONRegressor.json +56 -56
- package/examples/datamining/Scoring/JSONTransformer.json +38 -38
- package/examples/datamining/Scoring/PMMLClassifier.json +42 -42
- package/examples/datamining/Scoring/PMMLForecaster.json +43 -43
- package/examples/datamining/Scoring/PMMLRegressor.json +38 -38
- package/examples/datamining/Scoring/PMMLTransformer.json +38 -38
- package/examples/datamining/Simulation/LinearRegressionSimulation.json +117 -117
- package/examples/datamining/Simulation/SyntheticDataGeneration.json +108 -108
- package/examples/datamining/Simulation/pmml-risk-scoring.json +62 -62
- package/examples/datamining/Summarizer/Summarization.json +54 -54
- package/examples/datamining/TextMining/LatentSemanticAnalysis.json +51 -51
- package/examples/datamining/TextMining/TfIdf-FileData.json +65 -65
- package/examples/datamining/TextMining/TfIdf-InlineData.json +55 -55
- package/examples/datamining/TimeSeries/AddHoltWinters.json +79 -79
- package/examples/datamining/TimeSeries/Arima.json +74 -74
- package/examples/datamining/TimeSeries/DoubleExponential.json +65 -65
- package/examples/datamining/TimeSeries/Exponential.json +64 -64
- package/examples/datamining/TimeSeries/LagAnalysis.json +48 -48
- package/examples/datamining/TimeSeries/MovingAverage.json +65 -65
- package/examples/datamining/TimeSeries/MulHoltWinters.json +65 -65
- package/examples/datamining/TimeSeries/NoTrendHoltWinters.json +65 -65
- package/examples/datamining/Transformation/Binning.json +69 -69
- package/examples/datamining/Transformation/CanonicalVariateAnalysis.json +47 -47
- package/examples/datamining/Transformation/CategoryReduction.json +51 -51
- package/examples/datamining/Transformation/Factorization.json +50 -50
- package/examples/datamining/Transformation/MissingDataHandling.json +83 -83
- package/examples/datamining/Transformation/OneHotEncoding-DataInline.json +54 -54
- package/examples/datamining/Transformation/OneHotEncoding-DatainFile.json +48 -48
- package/examples/datamining/Transformation/PartitionTimeSeries.json +48 -48
- package/examples/datamining/Transformation/Partitioning-DF.json +72 -72
- package/examples/datamining/Transformation/Partitioning.json +46 -46
- package/examples/datamining/Transformation/PartitioningWithOversampling-DF.json +65 -65
- package/examples/datamining/Transformation/PartitioningWithOversampling.json +44 -44
- package/examples/datamining/Transformation/PrincipalComponentsAnalysis.json +52 -52
- package/examples/datamining/Transformation/Rescaling.json +67 -67
- package/examples/datamining/Transformation/Sampling.json +43 -43
- package/examples/datamining/Transformation/StratifiedSampling.json +46 -46
- package/examples/flow/SQLServerTransform.json +260 -260
- package/examples/flow/dm-calc-pipeline.json +277 -277
- package/examples/flow/dm-pipeline-simulation.json +113 -113
- package/examples/flow/opt-sim-pipeline.json +159 -159
- package/examples/flow/sim-dm-pipeline.json +106 -106
- package/examples/flow/sim-sim-pipeline.json +136 -136
- package/examples/index.json +4678 -4678
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/DataFiltering/ListwithFilter.json +52 -52
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ProductMix5.json +57 -57
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/compoundWhileStatement.json +35 -35
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ifThenElseStatement.json +33 -33
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/nestedLoop.json +25 -25
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/ParallelArray.json +47 -47
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/indexedArray.json +69 -69
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/nonParallelArray.json +49 -49
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/sumAggregateExample.json +337 -337
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/tsp.json +61 -61
- package/examples/rason-features/BoxIterators/Box_Fun_Loop_Iter_Sim_RASON.json +190 -190
- package/examples/rason-features/BoxIterators/Box_Fun_Loop_Sim_RASON.json +75 -75
- package/examples/rason-features/BoxIterators/Box_Fun_Sim_RASON.json +108 -108
- package/examples/rason-features/BoxIterators/Box_Iter_SIM_RASON.json +68 -68
- package/examples/rason-features/BoxIterators/Box_Iterator_Calc_Loop.json +183 -183
- package/examples/rason-features/BoxIterators/Box_Iterator_with_typeDef_partial.json +79 -79
- package/examples/rason-features/BoxLambdaExamples/BoxFunOptimize.json +154 -154
- package/examples/rason-features/BoxLambdaExamples/BoxFunSimulate.json +118 -118
- package/examples/rason-features/BoxLambdaExamples/LambdaFunOptimize.json +142 -142
- package/examples/rason-features/BoxLambdaExamples/LambdaFunSimulate.json +81 -81
- package/examples/rason-features/ReferenceGuide/RGFirehouseLocation.json +69 -69
- package/examples/rason-features/ReferenceGuide/RGFirehouseLocationConic.json +113 -113
- package/examples/rason-features/ReferenceGuide/RGProductMixCsv1.json +107 -107
- package/examples/rason-features/ReferenceGuide/RGProductMixExcel11.json +117 -117
- package/examples/rason-features/ReferenceGuide/RGProductMixSQL11.json +108 -108
- package/examples/rason-features/UserGuide/UGAirlineHubCSV.json +67 -67
- package/examples/rason-features/UserGuide/UGForecast.json +50 -50
- package/examples/rason-features/UserGuide/UGProductMix1.json +48 -48
- package/examples/rason-features/UserGuide/UGProductMix2.json +48 -48
- package/examples/rason-features/UserGuide/UGProductMixTab1.json +67 -67
- package/examples/rason-features/UserGuide/UGProductMixTab2.json +76 -76
- package/examples/rason-features/UserGuide/UGProductMixTab3.json +66 -66
- package/examples/rason-features/UserGuide/UGProductMixTab4.json +70 -70
- package/examples/rason-features/UserGuide/UGProductMixTab5.json +67 -67
- package/examples/rason-features/UserGuide/UGProjectSelect0.json +91 -91
- package/examples/rason-features/UserGuide/UGProjectSelect1.json +74 -74
- package/examples/rason-features/UserGuide/UGProjectSelect2.json +74 -74
- package/examples/rason-features/UserGuide/UGYieldManagement1.json +61 -61
- package/examples/rason-features/UserGuide/UGYieldManagement2.json +61 -61
- package/examples/rason-features/UserGuide/UGYieldManagement3.json +63 -63
- package/out/index.cjs +1 -1
- package/package.json +3 -2
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
{
|
|
2
|
-
"modelName": "AirlineHubConic2Example",
|
|
3
|
-
"modelDescription": "Airline Hub Conic 2 RASON Optimization Example: This model minimizes the distance between several regional airports and a proposed hub location. The difference between this example and the original AirlineHubConicExample is that this example uses vertical vectors. For a complete description of this model, see AirlineHubConic Example.",
|
|
4
|
-
"modelType": "optimization",
|
|
5
|
-
"engineSettings": {
|
|
6
|
-
"comment": "Since this model uses conic constraints, the SOCP Barrier engine must be selected.",
|
|
7
|
-
"engine": "SOCP Barrier"
|
|
8
|
-
},
|
|
9
|
-
"variables": {
|
|
10
|
-
"comment": "There are 21 total variables in the model.",
|
|
11
|
-
"x": {
|
|
12
|
-
"comment": "X coordinate of proposed hub.",
|
|
13
|
-
"value": 1.0,
|
|
14
|
-
"finalValue": []
|
|
15
|
-
},
|
|
16
|
-
"y": {
|
|
17
|
-
"comment": "Y coordinate of proposed hub.",
|
|
18
|
-
"value": 1.0,
|
|
19
|
-
"finalValue": []
|
|
20
|
-
},
|
|
21
|
-
"z": {
|
|
22
|
-
"comment": "Artificial z variable. Used in the objective that is being minimized. The effect of this variable being minimized coupled with the constraint z >= f will result in cell z being equal to the maximum value in the f array, in the final solution.",
|
|
23
|
-
"value": 1.0,
|
|
24
|
-
"finalValue": []
|
|
25
|
-
},
|
|
26
|
-
"f": {
|
|
27
|
-
"comment": "Variables in the f, g and h arrays are required to setup the conic constraints, see below. Each set of three variables, for example F[1], G[1], H[1], must belong to a second order cone constraint which can be rewritten as F[1] >= SQRT(SUMSQ(G[1]:H[1]). The 6 conic constraints replace the nonlinear distance constraints in the AirlineHub example.",
|
|
28
|
-
"dimensions": [ 6 ],
|
|
29
|
-
"value": 1.0
|
|
30
|
-
},
|
|
31
|
-
"g": {
|
|
32
|
-
"dimensions": [ 6 ],
|
|
33
|
-
"value": 1.0
|
|
34
|
-
},
|
|
35
|
-
"h": {
|
|
36
|
-
"dimensions": [ 6 ],
|
|
37
|
-
"value": 1.0
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
"data": {
|
|
41
|
-
"comment": "The data section (optional) can be used to setup constant arrays or generate formulas to be utilized in the constraints and objective. ",
|
|
42
|
-
"corx": {
|
|
43
|
-
"comment": "This array contains the x coordinates for each regional airport.",
|
|
44
|
-
"dimensions": [ 6 ],
|
|
45
|
-
"value": [ 1, 0.5, 2, 2, 2, 0.5 ]
|
|
46
|
-
},
|
|
47
|
-
"cory": {
|
|
48
|
-
"comment": "This array contains the y coordinates for each regional airport.",
|
|
49
|
-
"dimensions": [ 6 ],
|
|
50
|
-
"value": [ 4, 3, 4, 2, 5, 6 ]
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
"constraints": {
|
|
54
|
-
"dx": {
|
|
55
|
-
"comment": "The differences between the x coordinates of the hub and each regional airport. This constraint is set equal to the g variables.",
|
|
56
|
-
"dimensions": [ 6 ],
|
|
57
|
-
"formula": "corx - x - g",
|
|
58
|
-
"lower": 0,
|
|
59
|
-
"upper": 0
|
|
60
|
-
},
|
|
61
|
-
"dy": {
|
|
62
|
-
"comment": "The differences between the y coordinates of the hub and each regional airport. This constraint is set equal to the h variables",
|
|
63
|
-
"dimensions": [ 6 ],
|
|
64
|
-
"formula": "cory - y - h",
|
|
65
|
-
"lower": 0,
|
|
66
|
-
"upper": 0
|
|
67
|
-
},
|
|
68
|
-
"dz": {
|
|
69
|
-
"comment": "The effect of this constraint, coupled with the minimization of the z artificial variable, results in the artificial variable becoming equal to the maximum value in the f[1]:f[6] variable array, in the final solution",
|
|
70
|
-
"dimensions": [ 6 ],
|
|
71
|
-
"formula": "f - z",
|
|
72
|
-
"upper": 0
|
|
73
|
-
},
|
|
74
|
-
"cone1": {
|
|
75
|
-
"comment": "This comment applies to all 6 cone constraints, below. Each set of 3 variables for example, F[1], G[1] and H[1], must belong to a second order cone constraint which can be rewritten as F[1] >= SQRT(SumSQ(G[1]:H[1]). These 6 conic constraints replace the nonlinear distance calculation in the original AirlineHub example.",
|
|
76
|
-
|
|
77
|
-
"value": "f[1], g[1], h[1]",
|
|
78
|
-
"type": "cone"
|
|
79
|
-
},
|
|
80
|
-
"cone2": {
|
|
81
|
-
"value": "f[2], g[2], h[2]",
|
|
82
|
-
"type": "cone"
|
|
83
|
-
},
|
|
84
|
-
"cone3": {
|
|
85
|
-
"value": "f[3], g[3], h[3]",
|
|
86
|
-
"type": "cone"
|
|
87
|
-
},
|
|
88
|
-
"cone4": {
|
|
89
|
-
"value": "f[4], g[4], h[4]",
|
|
90
|
-
"type": "cone"
|
|
91
|
-
},
|
|
92
|
-
"cone5": {
|
|
93
|
-
"value": "f[5], g[5], h[5]",
|
|
94
|
-
"type": "cone"
|
|
95
|
-
},
|
|
96
|
-
"cone6": {
|
|
97
|
-
"value": "f[6], g[6], h[6]",
|
|
98
|
-
"type": "cone"
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
"objective": {
|
|
102
|
-
"obj": {
|
|
103
|
-
"comment": "The objective, the z variable, is a decision variable being minimized. The effect of this variable being minimized, coupled with the dz constraint, results in the z variable being equal to the max of F[1]:F[6] variable values in the final solution.",
|
|
104
|
-
"formula": "z",
|
|
105
|
-
"type": "minimize",
|
|
106
|
-
"finalValue": []
|
|
107
|
-
}
|
|
108
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"modelName": "AirlineHubConic2Example",
|
|
3
|
+
"modelDescription": "Airline Hub Conic 2 RASON Optimization Example: This model minimizes the distance between several regional airports and a proposed hub location. The difference between this example and the original AirlineHubConicExample is that this example uses vertical vectors. For a complete description of this model, see AirlineHubConic Example.",
|
|
4
|
+
"modelType": "optimization",
|
|
5
|
+
"engineSettings": {
|
|
6
|
+
"comment": "Since this model uses conic constraints, the SOCP Barrier engine must be selected.",
|
|
7
|
+
"engine": "SOCP Barrier"
|
|
8
|
+
},
|
|
9
|
+
"variables": {
|
|
10
|
+
"comment": "There are 21 total variables in the model.",
|
|
11
|
+
"x": {
|
|
12
|
+
"comment": "X coordinate of proposed hub.",
|
|
13
|
+
"value": 1.0,
|
|
14
|
+
"finalValue": []
|
|
15
|
+
},
|
|
16
|
+
"y": {
|
|
17
|
+
"comment": "Y coordinate of proposed hub.",
|
|
18
|
+
"value": 1.0,
|
|
19
|
+
"finalValue": []
|
|
20
|
+
},
|
|
21
|
+
"z": {
|
|
22
|
+
"comment": "Artificial z variable. Used in the objective that is being minimized. The effect of this variable being minimized coupled with the constraint z >= f will result in cell z being equal to the maximum value in the f array, in the final solution.",
|
|
23
|
+
"value": 1.0,
|
|
24
|
+
"finalValue": []
|
|
25
|
+
},
|
|
26
|
+
"f": {
|
|
27
|
+
"comment": "Variables in the f, g and h arrays are required to setup the conic constraints, see below. Each set of three variables, for example F[1], G[1], H[1], must belong to a second order cone constraint which can be rewritten as F[1] >= SQRT(SUMSQ(G[1]:H[1]). The 6 conic constraints replace the nonlinear distance constraints in the AirlineHub example.",
|
|
28
|
+
"dimensions": [ 6 ],
|
|
29
|
+
"value": 1.0
|
|
30
|
+
},
|
|
31
|
+
"g": {
|
|
32
|
+
"dimensions": [ 6 ],
|
|
33
|
+
"value": 1.0
|
|
34
|
+
},
|
|
35
|
+
"h": {
|
|
36
|
+
"dimensions": [ 6 ],
|
|
37
|
+
"value": 1.0
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"data": {
|
|
41
|
+
"comment": "The data section (optional) can be used to setup constant arrays or generate formulas to be utilized in the constraints and objective. ",
|
|
42
|
+
"corx": {
|
|
43
|
+
"comment": "This array contains the x coordinates for each regional airport.",
|
|
44
|
+
"dimensions": [ 6 ],
|
|
45
|
+
"value": [ 1, 0.5, 2, 2, 2, 0.5 ]
|
|
46
|
+
},
|
|
47
|
+
"cory": {
|
|
48
|
+
"comment": "This array contains the y coordinates for each regional airport.",
|
|
49
|
+
"dimensions": [ 6 ],
|
|
50
|
+
"value": [ 4, 3, 4, 2, 5, 6 ]
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"constraints": {
|
|
54
|
+
"dx": {
|
|
55
|
+
"comment": "The differences between the x coordinates of the hub and each regional airport. This constraint is set equal to the g variables.",
|
|
56
|
+
"dimensions": [ 6 ],
|
|
57
|
+
"formula": "corx - x - g",
|
|
58
|
+
"lower": 0,
|
|
59
|
+
"upper": 0
|
|
60
|
+
},
|
|
61
|
+
"dy": {
|
|
62
|
+
"comment": "The differences between the y coordinates of the hub and each regional airport. This constraint is set equal to the h variables",
|
|
63
|
+
"dimensions": [ 6 ],
|
|
64
|
+
"formula": "cory - y - h",
|
|
65
|
+
"lower": 0,
|
|
66
|
+
"upper": 0
|
|
67
|
+
},
|
|
68
|
+
"dz": {
|
|
69
|
+
"comment": "The effect of this constraint, coupled with the minimization of the z artificial variable, results in the artificial variable becoming equal to the maximum value in the f[1]:f[6] variable array, in the final solution",
|
|
70
|
+
"dimensions": [ 6 ],
|
|
71
|
+
"formula": "f - z",
|
|
72
|
+
"upper": 0
|
|
73
|
+
},
|
|
74
|
+
"cone1": {
|
|
75
|
+
"comment": "This comment applies to all 6 cone constraints, below. Each set of 3 variables for example, F[1], G[1] and H[1], must belong to a second order cone constraint which can be rewritten as F[1] >= SQRT(SumSQ(G[1]:H[1]). These 6 conic constraints replace the nonlinear distance calculation in the original AirlineHub example.",
|
|
76
|
+
|
|
77
|
+
"value": "f[1], g[1], h[1]",
|
|
78
|
+
"type": "cone"
|
|
79
|
+
},
|
|
80
|
+
"cone2": {
|
|
81
|
+
"value": "f[2], g[2], h[2]",
|
|
82
|
+
"type": "cone"
|
|
83
|
+
},
|
|
84
|
+
"cone3": {
|
|
85
|
+
"value": "f[3], g[3], h[3]",
|
|
86
|
+
"type": "cone"
|
|
87
|
+
},
|
|
88
|
+
"cone4": {
|
|
89
|
+
"value": "f[4], g[4], h[4]",
|
|
90
|
+
"type": "cone"
|
|
91
|
+
},
|
|
92
|
+
"cone5": {
|
|
93
|
+
"value": "f[5], g[5], h[5]",
|
|
94
|
+
"type": "cone"
|
|
95
|
+
},
|
|
96
|
+
"cone6": {
|
|
97
|
+
"value": "f[6], g[6], h[6]",
|
|
98
|
+
"type": "cone"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"objective": {
|
|
102
|
+
"obj": {
|
|
103
|
+
"comment": "The objective, the z variable, is a decision variable being minimized. The effect of this variable being minimized, coupled with the dz constraint, results in the z variable being equal to the max of F[1]:F[6] variable values in the final solution.",
|
|
104
|
+
"formula": "z",
|
|
105
|
+
"type": "minimize",
|
|
106
|
+
"finalValue": []
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
109
|
}
|
|
@@ -1,112 +1,112 @@
|
|
|
1
|
-
{
|
|
2
|
-
"modelName": "AirlineHubConic3Example",
|
|
3
|
-
"modelDescription": "Airline Hub Conic 3 RASON Optimization Example: This model minimizes the distance between several regional airports and a proposed hub location. The difference between this example and the original AirlineHubConicExample is that this example uses horizontal vectors. For a complete description of this model, see AirlineHubConic Example.",
|
|
4
|
-
"modelType": "optimization",
|
|
5
|
-
"engineSettings": {
|
|
6
|
-
"comment": "Since this model uses conic constraints, the SOCP Barrier engine must be selected. A simple example of a conic constraint is a non-negativity constraint on the decision variables. A non-negativity constraint simply means that all variables must be greater than 0. In this model, the variable blocks f, g and h must lie within a 2nd order cone (also called a Lorentz cone or 'ice cream cone'. This cone places a bound on the L2-norm of the vector of decision variables. In this model, if the variables in the f, g and h variable blocks, or arrays, lie within a code, then f>= SQRT(SUMSQ(g,h))",
|
|
7
|
-
"engine": "SOCP Barrier"
|
|
8
|
-
},
|
|
9
|
-
"variables": {
|
|
10
|
-
"comment": "This section contains the 21 decision variables in the optimization model.",
|
|
11
|
-
"x": {
|
|
12
|
-
"comment": "X coordinate of proposed hub.",
|
|
13
|
-
"value": 1.0,
|
|
14
|
-
"finalValue": []
|
|
15
|
-
},
|
|
16
|
-
"y": {
|
|
17
|
-
"comment": "Y coordinate of proposed hub.",
|
|
18
|
-
"value": 1.0,
|
|
19
|
-
"finalValue": []
|
|
20
|
-
},
|
|
21
|
-
"z": {
|
|
22
|
-
"comment": "Artificial z variable. Used in the objective that is being minimized. The effect of this variable being minimized coupled with the dz constraint will result in cell z being equal to the maximum of f[1]:f[6] in the final solution.",
|
|
23
|
-
"value": 1.0,
|
|
24
|
-
"finalValue": []
|
|
25
|
-
},
|
|
26
|
-
"f": {
|
|
27
|
-
"comment": "Variables in the f, g and h arrays are required to setup the conic constraints, see below. Each set of three variables, for example f[1], g[1], h[1], must belong to a second order cone constraint which can be rewritten as f[1] >= SQRT(SUMSQ(g[1]:h[1]). The 6 conic constraints replace the nonlinear distance constraints in the Airline Hub example. Notice that these three arrays are horizontal arrays.",
|
|
28
|
-
"dimensions": [ 1, 6 ],
|
|
29
|
-
"value": 1.0
|
|
30
|
-
},
|
|
31
|
-
"g": {
|
|
32
|
-
"dimensions": [ 1, 6 ],
|
|
33
|
-
"value": 1.0
|
|
34
|
-
},
|
|
35
|
-
"h": {
|
|
36
|
-
"dimensions": [ 1, 6 ],
|
|
37
|
-
"value": 1.0
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
"data": {
|
|
41
|
-
"comment": "The data section (optional) can be used to setup constant arrays or generate formulas to be utilized in the constraints and objective. ",
|
|
42
|
-
"corx": {
|
|
43
|
-
"comment": "This array contains the x coordinates for each regional airport. Notice that this array is a horizontal array.",
|
|
44
|
-
"dimensions": [ 1, 6 ],
|
|
45
|
-
"value": [
|
|
46
|
-
[ 1, 0.5, 2, 2, 2, 0.5 ]
|
|
47
|
-
]
|
|
48
|
-
},
|
|
49
|
-
"cory": {
|
|
50
|
-
"comment": "This array contains the y coordinates for each regional airport. Notice that this array is a horizontal array.",
|
|
51
|
-
"dimensions": [ 1, 6 ],
|
|
52
|
-
"value": [
|
|
53
|
-
[ 4, 3, 4, 2, 5, 6 ]
|
|
54
|
-
]
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
"constraints": {
|
|
58
|
-
"dx": {
|
|
59
|
-
"comment": "The differences between the x coordinates of the hub and each regional airport. This constraint is set equal to the g variables. This is a horizontal array.",
|
|
60
|
-
"dimensions": [ 1, 6 ],
|
|
61
|
-
"formula": "corx - x - g",
|
|
62
|
-
"lower": 0,
|
|
63
|
-
"upper": 0
|
|
64
|
-
},
|
|
65
|
-
"dy": {
|
|
66
|
-
"comment": "The differences between the y coordinates of the hub and each regional airport. This constraint is set equal to the h variables. This is a horizontal array.",
|
|
67
|
-
"dimensions": [ 1, 6 ],
|
|
68
|
-
"formula": "cory - y - h",
|
|
69
|
-
"lower": 0,
|
|
70
|
-
"upper": 0
|
|
71
|
-
},
|
|
72
|
-
"dz": {
|
|
73
|
-
"comment": "The effect of this constraint, coupled with the minimization of the z artificial variable, results in the artificial variable becoming equal to the maximum value in the f[1]:f[6] variable array, in the final solution. This is a horizontal array.",
|
|
74
|
-
"dimensions": [ 1, 6 ],
|
|
75
|
-
"formula": "f - z",
|
|
76
|
-
"upper": 0
|
|
77
|
-
},
|
|
78
|
-
"cone1": {
|
|
79
|
-
"comment": "This comment applies to all 6 cone constraints, below. Each set of 3 variables for example, f[1], g[1] and h[1], must belong to a second order cone constraint which can be rewritten as f[1] >= SQRT(SumSQ(g[1]:h[1]). These 6 conic constraints replace the nonlinear distance calculation in the original AirlineHub example.",
|
|
80
|
-
"value": "f[1,1], g[1,1], h[1,1]",
|
|
81
|
-
"type": "cone"
|
|
82
|
-
},
|
|
83
|
-
"cone2": {
|
|
84
|
-
"value": "f[1,2], g[1,2], h[1,2]",
|
|
85
|
-
"type": "cone"
|
|
86
|
-
},
|
|
87
|
-
"cone3": {
|
|
88
|
-
"value": "f[1,3], g[1,3], h[1,3]",
|
|
89
|
-
"type": "cone"
|
|
90
|
-
},
|
|
91
|
-
"cone4": {
|
|
92
|
-
"value": "f[1,4], g[1,4], h[1,4]",
|
|
93
|
-
"type": "cone"
|
|
94
|
-
},
|
|
95
|
-
"cone5": {
|
|
96
|
-
"value": "f[1,5], g[1,5], h[1,5]",
|
|
97
|
-
"type": "cone"
|
|
98
|
-
},
|
|
99
|
-
"cone6": {
|
|
100
|
-
"value": "f[1,6], g[1,6], h[1,6]",
|
|
101
|
-
"type": "cone"
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
|
-
"objective": {
|
|
105
|
-
"obj": {
|
|
106
|
-
"comment": "The objective, the z variable, is a decision variable being minimized. The effect of this variable being minimized, coupled with the dz constraint, results in the z variable being equal to the max of f[1]:f[6] variable values in the final solution.",
|
|
107
|
-
"formula": "z",
|
|
108
|
-
"type": "minimize",
|
|
109
|
-
"finalValue": []
|
|
110
|
-
}
|
|
111
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"modelName": "AirlineHubConic3Example",
|
|
3
|
+
"modelDescription": "Airline Hub Conic 3 RASON Optimization Example: This model minimizes the distance between several regional airports and a proposed hub location. The difference between this example and the original AirlineHubConicExample is that this example uses horizontal vectors. For a complete description of this model, see AirlineHubConic Example.",
|
|
4
|
+
"modelType": "optimization",
|
|
5
|
+
"engineSettings": {
|
|
6
|
+
"comment": "Since this model uses conic constraints, the SOCP Barrier engine must be selected. A simple example of a conic constraint is a non-negativity constraint on the decision variables. A non-negativity constraint simply means that all variables must be greater than 0. In this model, the variable blocks f, g and h must lie within a 2nd order cone (also called a Lorentz cone or 'ice cream cone'. This cone places a bound on the L2-norm of the vector of decision variables. In this model, if the variables in the f, g and h variable blocks, or arrays, lie within a code, then f>= SQRT(SUMSQ(g,h))",
|
|
7
|
+
"engine": "SOCP Barrier"
|
|
8
|
+
},
|
|
9
|
+
"variables": {
|
|
10
|
+
"comment": "This section contains the 21 decision variables in the optimization model.",
|
|
11
|
+
"x": {
|
|
12
|
+
"comment": "X coordinate of proposed hub.",
|
|
13
|
+
"value": 1.0,
|
|
14
|
+
"finalValue": []
|
|
15
|
+
},
|
|
16
|
+
"y": {
|
|
17
|
+
"comment": "Y coordinate of proposed hub.",
|
|
18
|
+
"value": 1.0,
|
|
19
|
+
"finalValue": []
|
|
20
|
+
},
|
|
21
|
+
"z": {
|
|
22
|
+
"comment": "Artificial z variable. Used in the objective that is being minimized. The effect of this variable being minimized coupled with the dz constraint will result in cell z being equal to the maximum of f[1]:f[6] in the final solution.",
|
|
23
|
+
"value": 1.0,
|
|
24
|
+
"finalValue": []
|
|
25
|
+
},
|
|
26
|
+
"f": {
|
|
27
|
+
"comment": "Variables in the f, g and h arrays are required to setup the conic constraints, see below. Each set of three variables, for example f[1], g[1], h[1], must belong to a second order cone constraint which can be rewritten as f[1] >= SQRT(SUMSQ(g[1]:h[1]). The 6 conic constraints replace the nonlinear distance constraints in the Airline Hub example. Notice that these three arrays are horizontal arrays.",
|
|
28
|
+
"dimensions": [ 1, 6 ],
|
|
29
|
+
"value": 1.0
|
|
30
|
+
},
|
|
31
|
+
"g": {
|
|
32
|
+
"dimensions": [ 1, 6 ],
|
|
33
|
+
"value": 1.0
|
|
34
|
+
},
|
|
35
|
+
"h": {
|
|
36
|
+
"dimensions": [ 1, 6 ],
|
|
37
|
+
"value": 1.0
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"data": {
|
|
41
|
+
"comment": "The data section (optional) can be used to setup constant arrays or generate formulas to be utilized in the constraints and objective. ",
|
|
42
|
+
"corx": {
|
|
43
|
+
"comment": "This array contains the x coordinates for each regional airport. Notice that this array is a horizontal array.",
|
|
44
|
+
"dimensions": [ 1, 6 ],
|
|
45
|
+
"value": [
|
|
46
|
+
[ 1, 0.5, 2, 2, 2, 0.5 ]
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"cory": {
|
|
50
|
+
"comment": "This array contains the y coordinates for each regional airport. Notice that this array is a horizontal array.",
|
|
51
|
+
"dimensions": [ 1, 6 ],
|
|
52
|
+
"value": [
|
|
53
|
+
[ 4, 3, 4, 2, 5, 6 ]
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"constraints": {
|
|
58
|
+
"dx": {
|
|
59
|
+
"comment": "The differences between the x coordinates of the hub and each regional airport. This constraint is set equal to the g variables. This is a horizontal array.",
|
|
60
|
+
"dimensions": [ 1, 6 ],
|
|
61
|
+
"formula": "corx - x - g",
|
|
62
|
+
"lower": 0,
|
|
63
|
+
"upper": 0
|
|
64
|
+
},
|
|
65
|
+
"dy": {
|
|
66
|
+
"comment": "The differences between the y coordinates of the hub and each regional airport. This constraint is set equal to the h variables. This is a horizontal array.",
|
|
67
|
+
"dimensions": [ 1, 6 ],
|
|
68
|
+
"formula": "cory - y - h",
|
|
69
|
+
"lower": 0,
|
|
70
|
+
"upper": 0
|
|
71
|
+
},
|
|
72
|
+
"dz": {
|
|
73
|
+
"comment": "The effect of this constraint, coupled with the minimization of the z artificial variable, results in the artificial variable becoming equal to the maximum value in the f[1]:f[6] variable array, in the final solution. This is a horizontal array.",
|
|
74
|
+
"dimensions": [ 1, 6 ],
|
|
75
|
+
"formula": "f - z",
|
|
76
|
+
"upper": 0
|
|
77
|
+
},
|
|
78
|
+
"cone1": {
|
|
79
|
+
"comment": "This comment applies to all 6 cone constraints, below. Each set of 3 variables for example, f[1], g[1] and h[1], must belong to a second order cone constraint which can be rewritten as f[1] >= SQRT(SumSQ(g[1]:h[1]). These 6 conic constraints replace the nonlinear distance calculation in the original AirlineHub example.",
|
|
80
|
+
"value": "f[1,1], g[1,1], h[1,1]",
|
|
81
|
+
"type": "cone"
|
|
82
|
+
},
|
|
83
|
+
"cone2": {
|
|
84
|
+
"value": "f[1,2], g[1,2], h[1,2]",
|
|
85
|
+
"type": "cone"
|
|
86
|
+
},
|
|
87
|
+
"cone3": {
|
|
88
|
+
"value": "f[1,3], g[1,3], h[1,3]",
|
|
89
|
+
"type": "cone"
|
|
90
|
+
},
|
|
91
|
+
"cone4": {
|
|
92
|
+
"value": "f[1,4], g[1,4], h[1,4]",
|
|
93
|
+
"type": "cone"
|
|
94
|
+
},
|
|
95
|
+
"cone5": {
|
|
96
|
+
"value": "f[1,5], g[1,5], h[1,5]",
|
|
97
|
+
"type": "cone"
|
|
98
|
+
},
|
|
99
|
+
"cone6": {
|
|
100
|
+
"value": "f[1,6], g[1,6], h[1,6]",
|
|
101
|
+
"type": "cone"
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"objective": {
|
|
105
|
+
"obj": {
|
|
106
|
+
"comment": "The objective, the z variable, is a decision variable being minimized. The effect of this variable being minimized, coupled with the dz constraint, results in the z variable being equal to the max of f[1]:f[6] variable values in the final solution.",
|
|
107
|
+
"formula": "z",
|
|
108
|
+
"type": "minimize",
|
|
109
|
+
"finalValue": []
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
112
|
}
|
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
{
|
|
2
|
-
"modelName": "AirlineHubConic4Example",
|
|
3
|
-
"modelDescription": "Airline Hub Conic 4 RASON Optimization Example: This model minimizes the distance between several regional airports and a proposed hub location. The difference between this example and the original AirlineHubConicExample is that this example illustrates how to 'slice' an array. For a complete description of this model, see AirlineHubConic Example.",
|
|
4
|
-
"modelType": "optimization",
|
|
5
|
-
"engineSettings": {
|
|
6
|
-
"comment": "Since this model uses conic constraints, the SOCP Barrier engine must be selected. A simple example of a conic constraint is a non-negativity constraint on the decision variables. A non-negativity constraint simply means that all variables must be greater than 0. In this model, the variable blocks F21:F26, G21:G26 and H21:H26 must lie within a 2nd order cone (also called a Lorentz cone or 'ice cream cone'. This cone places a bound on the L2-norm of the vector of decision variables. In this model, if the variables in cells F21:F26, G21:G26 and H21:H26 lie within a code, then FX >= SQRT(SUMSQ(GX:HX))",
|
|
7
|
-
"engine": "SOCP Barrier"
|
|
8
|
-
},
|
|
9
|
-
"variables": {
|
|
10
|
-
"comment": "This section contains the 21 decision variables in the optimization model.",
|
|
11
|
-
"x": {
|
|
12
|
-
"comment": "X coordinate of proposed hub.",
|
|
13
|
-
"value": 1.0,
|
|
14
|
-
"finalValue": []
|
|
15
|
-
},
|
|
16
|
-
"y": {
|
|
17
|
-
"comment": "Y coordinate of proposed hub.",
|
|
18
|
-
"value": 1.0,
|
|
19
|
-
"finalValue": []
|
|
20
|
-
},
|
|
21
|
-
"z": {
|
|
22
|
-
"comment": "Artificial z variable. Used in the objective that is being minimized. The effect of this variable being minimized coupled with the dz constraint will result in cell z being equal to the maximum of v[1,] elements in the final solution.",
|
|
23
|
-
"value": 1.0,
|
|
24
|
-
"finalValue": []
|
|
25
|
-
},
|
|
26
|
-
"v": {
|
|
27
|
-
"comment": "In this example, the f, g and h variable arrays in the previous AirlineHubConic3Example model have been combined into 1 array, the v array.",
|
|
28
|
-
"dimensions": [ 3, 6 ],
|
|
29
|
-
"value": 1.0
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
"data": {
|
|
33
|
-
"comment": "The data section (optional) can be used to setup constant arrays or generate formulas to be utilized in the constraints and objective. ",
|
|
34
|
-
"corx": {
|
|
35
|
-
"comment": "This array contains the x coordinates for each regional airport.",
|
|
36
|
-
"dimensions": [ 6 ],
|
|
37
|
-
"value": [ 1, 0.5, 2, 2, 2, 0.5 ]
|
|
38
|
-
},
|
|
39
|
-
"cory": {
|
|
40
|
-
"comment": "This array contains the y coordinates for each regional airport.",
|
|
41
|
-
"dimensions": [ 6 ],
|
|
42
|
-
"value": [ 4, 3, 4, 2, 5, 6 ]
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
"constraints": {
|
|
46
|
-
"dx": {
|
|
47
|
-
"comment": "The differences between the x coordinates of the hub and each regional airport. This constraint is set equal to the v[2, ] array, previously the g array.",
|
|
48
|
-
"dimensions": [ 6 ],
|
|
49
|
-
"formula": "corx - x - transpose(v[2,])",
|
|
50
|
-
"lower": 0,
|
|
51
|
-
"upper": 0
|
|
52
|
-
},
|
|
53
|
-
"dy": {
|
|
54
|
-
"comment": "The differences between the y coordinates of the hub and each regional airport. This constraint is set equal to the v[3, ] variables, previously the h array.",
|
|
55
|
-
"dimensions": [ 6 ],
|
|
56
|
-
"formula": "cory - y - transpose(v[3,])",
|
|
57
|
-
"lower": 0,
|
|
58
|
-
"upper": 0
|
|
59
|
-
},
|
|
60
|
-
"dz": {
|
|
61
|
-
"comment": "The effect of this constraint, coupled with the minimization of the z artificial variable, results in the artificial variable becoming equal to the maximum value in the v[1, ] variable array, in the final solution.",
|
|
62
|
-
"dimensions": [ 6 ],
|
|
63
|
-
"formula": "transpose(v[1,]) - z",
|
|
64
|
-
"upper": 0
|
|
65
|
-
},
|
|
66
|
-
"cone1": {
|
|
67
|
-
"comment": "This comment applies to all 6 cone constraints, below. Each set of 3 variables for example, v[1,1], v[2,1] and v[3,1], must belong to a second order cone constraint which can be rewritten as v[1,1] >= SQRT(SumSQ(v[2,1],v[3,1]). These 6 conic constraints replace the nonlinear distance calculation in the original AirlineHub example.",
|
|
68
|
-
"value": "v[,1]",
|
|
69
|
-
"type": "cone"
|
|
70
|
-
},
|
|
71
|
-
"cone2": {
|
|
72
|
-
"value": "v[,2]",
|
|
73
|
-
"type": "cone"
|
|
74
|
-
},
|
|
75
|
-
"cone3": {
|
|
76
|
-
"value": "v[,3]",
|
|
77
|
-
"type": "cone"
|
|
78
|
-
},
|
|
79
|
-
"cone4": {
|
|
80
|
-
"value": "v[,4]",
|
|
81
|
-
"type": "cone"
|
|
82
|
-
},
|
|
83
|
-
"cone5": {
|
|
84
|
-
"value": "v[,5]",
|
|
85
|
-
"type": "cone"
|
|
86
|
-
},
|
|
87
|
-
"cone6": {
|
|
88
|
-
"value": "v[,6]",
|
|
89
|
-
"type": "cone"
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
"objective": {
|
|
93
|
-
"obj": {
|
|
94
|
-
"comment": "The objective, the z variable, is a decision variable being minimized. The effect of this variable being minimized, coupled with the dz constraint, results in the z variable being equal to the max of v[1,1], v[1,2], v[1,3], v[1,4], v[1,5], v[1,6] variable values in the final solution.",
|
|
95
|
-
"formula": "z",
|
|
96
|
-
"type": "minimize",
|
|
97
|
-
"finalValue": []
|
|
98
|
-
}
|
|
99
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"modelName": "AirlineHubConic4Example",
|
|
3
|
+
"modelDescription": "Airline Hub Conic 4 RASON Optimization Example: This model minimizes the distance between several regional airports and a proposed hub location. The difference between this example and the original AirlineHubConicExample is that this example illustrates how to 'slice' an array. For a complete description of this model, see AirlineHubConic Example.",
|
|
4
|
+
"modelType": "optimization",
|
|
5
|
+
"engineSettings": {
|
|
6
|
+
"comment": "Since this model uses conic constraints, the SOCP Barrier engine must be selected. A simple example of a conic constraint is a non-negativity constraint on the decision variables. A non-negativity constraint simply means that all variables must be greater than 0. In this model, the variable blocks F21:F26, G21:G26 and H21:H26 must lie within a 2nd order cone (also called a Lorentz cone or 'ice cream cone'. This cone places a bound on the L2-norm of the vector of decision variables. In this model, if the variables in cells F21:F26, G21:G26 and H21:H26 lie within a code, then FX >= SQRT(SUMSQ(GX:HX))",
|
|
7
|
+
"engine": "SOCP Barrier"
|
|
8
|
+
},
|
|
9
|
+
"variables": {
|
|
10
|
+
"comment": "This section contains the 21 decision variables in the optimization model.",
|
|
11
|
+
"x": {
|
|
12
|
+
"comment": "X coordinate of proposed hub.",
|
|
13
|
+
"value": 1.0,
|
|
14
|
+
"finalValue": []
|
|
15
|
+
},
|
|
16
|
+
"y": {
|
|
17
|
+
"comment": "Y coordinate of proposed hub.",
|
|
18
|
+
"value": 1.0,
|
|
19
|
+
"finalValue": []
|
|
20
|
+
},
|
|
21
|
+
"z": {
|
|
22
|
+
"comment": "Artificial z variable. Used in the objective that is being minimized. The effect of this variable being minimized coupled with the dz constraint will result in cell z being equal to the maximum of v[1,] elements in the final solution.",
|
|
23
|
+
"value": 1.0,
|
|
24
|
+
"finalValue": []
|
|
25
|
+
},
|
|
26
|
+
"v": {
|
|
27
|
+
"comment": "In this example, the f, g and h variable arrays in the previous AirlineHubConic3Example model have been combined into 1 array, the v array.",
|
|
28
|
+
"dimensions": [ 3, 6 ],
|
|
29
|
+
"value": 1.0
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"data": {
|
|
33
|
+
"comment": "The data section (optional) can be used to setup constant arrays or generate formulas to be utilized in the constraints and objective. ",
|
|
34
|
+
"corx": {
|
|
35
|
+
"comment": "This array contains the x coordinates for each regional airport.",
|
|
36
|
+
"dimensions": [ 6 ],
|
|
37
|
+
"value": [ 1, 0.5, 2, 2, 2, 0.5 ]
|
|
38
|
+
},
|
|
39
|
+
"cory": {
|
|
40
|
+
"comment": "This array contains the y coordinates for each regional airport.",
|
|
41
|
+
"dimensions": [ 6 ],
|
|
42
|
+
"value": [ 4, 3, 4, 2, 5, 6 ]
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"constraints": {
|
|
46
|
+
"dx": {
|
|
47
|
+
"comment": "The differences between the x coordinates of the hub and each regional airport. This constraint is set equal to the v[2, ] array, previously the g array.",
|
|
48
|
+
"dimensions": [ 6 ],
|
|
49
|
+
"formula": "corx - x - transpose(v[2,])",
|
|
50
|
+
"lower": 0,
|
|
51
|
+
"upper": 0
|
|
52
|
+
},
|
|
53
|
+
"dy": {
|
|
54
|
+
"comment": "The differences between the y coordinates of the hub and each regional airport. This constraint is set equal to the v[3, ] variables, previously the h array.",
|
|
55
|
+
"dimensions": [ 6 ],
|
|
56
|
+
"formula": "cory - y - transpose(v[3,])",
|
|
57
|
+
"lower": 0,
|
|
58
|
+
"upper": 0
|
|
59
|
+
},
|
|
60
|
+
"dz": {
|
|
61
|
+
"comment": "The effect of this constraint, coupled with the minimization of the z artificial variable, results in the artificial variable becoming equal to the maximum value in the v[1, ] variable array, in the final solution.",
|
|
62
|
+
"dimensions": [ 6 ],
|
|
63
|
+
"formula": "transpose(v[1,]) - z",
|
|
64
|
+
"upper": 0
|
|
65
|
+
},
|
|
66
|
+
"cone1": {
|
|
67
|
+
"comment": "This comment applies to all 6 cone constraints, below. Each set of 3 variables for example, v[1,1], v[2,1] and v[3,1], must belong to a second order cone constraint which can be rewritten as v[1,1] >= SQRT(SumSQ(v[2,1],v[3,1]). These 6 conic constraints replace the nonlinear distance calculation in the original AirlineHub example.",
|
|
68
|
+
"value": "v[,1]",
|
|
69
|
+
"type": "cone"
|
|
70
|
+
},
|
|
71
|
+
"cone2": {
|
|
72
|
+
"value": "v[,2]",
|
|
73
|
+
"type": "cone"
|
|
74
|
+
},
|
|
75
|
+
"cone3": {
|
|
76
|
+
"value": "v[,3]",
|
|
77
|
+
"type": "cone"
|
|
78
|
+
},
|
|
79
|
+
"cone4": {
|
|
80
|
+
"value": "v[,4]",
|
|
81
|
+
"type": "cone"
|
|
82
|
+
},
|
|
83
|
+
"cone5": {
|
|
84
|
+
"value": "v[,5]",
|
|
85
|
+
"type": "cone"
|
|
86
|
+
},
|
|
87
|
+
"cone6": {
|
|
88
|
+
"value": "v[,6]",
|
|
89
|
+
"type": "cone"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"objective": {
|
|
93
|
+
"obj": {
|
|
94
|
+
"comment": "The objective, the z variable, is a decision variable being minimized. The effect of this variable being minimized, coupled with the dz constraint, results in the z variable being equal to the max of v[1,1], v[1,2], v[1,3], v[1,4], v[1,5], v[1,6] variable values in the final solution.",
|
|
95
|
+
"formula": "z",
|
|
96
|
+
"type": "minimize",
|
|
97
|
+
"finalValue": []
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
100
|
}
|