@frontlinesystems/rason-mcp-server 2026.5.0 → 2026.5.1

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.
Files changed (195) hide show
  1. package/LICENSE +35 -35
  2. package/README.md +1 -1
  3. package/examples/EXAMPLES_REFERENCE.md +128 -128
  4. package/examples/calculation/DMNExamples/DMN Box Fun with typeDef result.json +53 -53
  5. package/examples/calculation/DMNExamples/DMN Context example.json +69 -69
  6. package/examples/calculation/DMNExamples/DMN DT with typeDef result.json +43 -43
  7. package/examples/calculation/DMNExamples/FEEL Date Time example.json +28 -28
  8. package/examples/calculation/DMNExamples/FEEL For iteration example.json +66 -66
  9. package/examples/calculation/DMNExamples/FEEL For with two indices.json +15 -15
  10. package/examples/calculation/DMNExamples/FEEL For with typeDef result.json +88 -88
  11. package/examples/calculation/DMNExamples/FEEL If Then Else example.json +25 -25
  12. package/examples/calculation/DMNExamples/FEEL List example.json +37 -37
  13. package/examples/calculation/DMNExamples/FEEL List operator.json +17 -17
  14. package/examples/calculation/DMNExamples/FEEL List with typeDef collection.json +36 -36
  15. package/examples/calculation/DMNExamples/FEEL Some or Every example.json +65 -65
  16. package/examples/calculation/DecisionTables/DT Datasource example.json +52 -52
  17. package/examples/calculation/DecisionTables/DT Date and Time examples.json +91 -91
  18. package/examples/calculation/DecisionTables/DT Expression example.json +32 -32
  19. package/examples/calculation/DecisionTables/DT Hit Policy examples.json +136 -136
  20. package/examples/calculation/DecisionTables/DT Loan Recommend model.json +81 -81
  21. package/examples/calculation/DecisionTables/DT Loan Strategy Model and Predictive CSV-XML.json +218 -218
  22. package/examples/calculation/DecisionTables/DT Loan Strategy model and Datasource.json +286 -286
  23. package/examples/calculation/DecisionTables/DT Loan Strategy model and Predictive.json +203 -203
  24. package/examples/calculation/DecisionTables/DT Loan Strategy model by scratch.json +214 -214
  25. package/examples/calculation/DecisionTables/DT Output Order example.json +39 -39
  26. package/examples/calculation/DecisionTables/DT Unique example.json +38 -38
  27. package/examples/calculation/TypeDefinitions/TypeDefCF.json +64 -64
  28. package/examples/calculation/TypeDefinitions/TypeDefDT.json +57 -57
  29. package/examples/datamining/AffinityAnalysis/AssociationRules.json +51 -51
  30. package/examples/datamining/Classification/DecisionTree.json +90 -90
  31. package/examples/datamining/Classification/DiscriminantAnalysis.json +81 -81
  32. package/examples/datamining/Classification/Ensembles/Bagging.json +66 -66
  33. package/examples/datamining/Classification/Ensembles/Boosting.json +67 -67
  34. package/examples/datamining/Classification/Ensembles/RandomTrees.json +91 -91
  35. package/examples/datamining/Classification/FindBestModel.json +86 -86
  36. package/examples/datamining/Classification/LogisticRegression.json +82 -82
  37. package/examples/datamining/Classification/NaiveBayes.json +78 -78
  38. package/examples/datamining/Classification/NearestNeighbors.json +84 -84
  39. package/examples/datamining/Classification/NeuralNetwork.json +92 -92
  40. package/examples/datamining/Clustering/Hierarchical.json +54 -54
  41. package/examples/datamining/Clustering/KMeans.json +71 -71
  42. package/examples/datamining/DataSources/DelimitedFile.json +49 -49
  43. package/examples/datamining/DataSources/JSONFile.json +49 -49
  44. package/examples/datamining/DataSources/MSAccessDatabase.json +49 -49
  45. package/examples/datamining/DataSources/MSExcelTable.json +50 -50
  46. package/examples/datamining/DataSources/MSSQLDatabase.json +49 -49
  47. package/examples/datamining/DataSources/ODATATable.json +49 -49
  48. package/examples/datamining/DataSources/ODBCDatabase.json +49 -49
  49. package/examples/datamining/FeatureSelection/LinearWrapping.json +53 -53
  50. package/examples/datamining/FeatureSelection/LogisticWrapping.json +56 -56
  51. package/examples/datamining/FeatureSelection/Univariate.json +78 -78
  52. package/examples/datamining/Regression/DecisionTree.json +82 -82
  53. package/examples/datamining/Regression/Ensembles/Bagging.json +62 -62
  54. package/examples/datamining/Regression/Ensembles/Boosting.json +62 -62
  55. package/examples/datamining/Regression/Ensembles/RandomTrees.json +78 -78
  56. package/examples/datamining/Regression/FindBestModel.json +86 -86
  57. package/examples/datamining/Regression/LinearRegression.json +124 -124
  58. package/examples/datamining/Regression/NearestNeighbors.json +77 -77
  59. package/examples/datamining/Regression/NeuralNetwork.json +82 -82
  60. package/examples/datamining/Scoring/JSONClassifier.json +62 -62
  61. package/examples/datamining/Scoring/JSONClassifierNN.json +62 -62
  62. package/examples/datamining/Scoring/JSONClusterizer.json +37 -37
  63. package/examples/datamining/Scoring/JSONForecaster.json +49 -49
  64. package/examples/datamining/Scoring/JSONLinearRegression.json +56 -56
  65. package/examples/datamining/Scoring/JSONPCA.json +41 -41
  66. package/examples/datamining/Scoring/JSONRegressor.json +56 -56
  67. package/examples/datamining/Scoring/JSONTransformer.json +38 -38
  68. package/examples/datamining/Scoring/PMMLClassifier.json +42 -42
  69. package/examples/datamining/Scoring/PMMLForecaster.json +43 -43
  70. package/examples/datamining/Scoring/PMMLRegressor.json +38 -38
  71. package/examples/datamining/Scoring/PMMLTransformer.json +38 -38
  72. package/examples/datamining/Simulation/LinearRegressionSimulation.json +117 -117
  73. package/examples/datamining/Simulation/SyntheticDataGeneration.json +108 -108
  74. package/examples/datamining/Simulation/pmml-risk-scoring.json +62 -62
  75. package/examples/datamining/Summarizer/Summarization.json +54 -54
  76. package/examples/datamining/TextMining/LatentSemanticAnalysis.json +51 -51
  77. package/examples/datamining/TextMining/TfIdf-FileData.json +65 -65
  78. package/examples/datamining/TextMining/TfIdf-InlineData.json +55 -55
  79. package/examples/datamining/TimeSeries/AddHoltWinters.json +79 -79
  80. package/examples/datamining/TimeSeries/Arima.json +74 -74
  81. package/examples/datamining/TimeSeries/DoubleExponential.json +65 -65
  82. package/examples/datamining/TimeSeries/Exponential.json +64 -64
  83. package/examples/datamining/TimeSeries/LagAnalysis.json +48 -48
  84. package/examples/datamining/TimeSeries/MovingAverage.json +65 -65
  85. package/examples/datamining/TimeSeries/MulHoltWinters.json +65 -65
  86. package/examples/datamining/TimeSeries/NoTrendHoltWinters.json +65 -65
  87. package/examples/datamining/Transformation/Binning.json +69 -69
  88. package/examples/datamining/Transformation/CanonicalVariateAnalysis.json +47 -47
  89. package/examples/datamining/Transformation/CategoryReduction.json +51 -51
  90. package/examples/datamining/Transformation/Factorization.json +50 -50
  91. package/examples/datamining/Transformation/MissingDataHandling.json +83 -83
  92. package/examples/datamining/Transformation/OneHotEncoding-DataInline.json +54 -54
  93. package/examples/datamining/Transformation/OneHotEncoding-DatainFile.json +48 -48
  94. package/examples/datamining/Transformation/PartitionTimeSeries.json +48 -48
  95. package/examples/datamining/Transformation/Partitioning-DF.json +72 -72
  96. package/examples/datamining/Transformation/Partitioning.json +46 -46
  97. package/examples/datamining/Transformation/PartitioningWithOversampling-DF.json +65 -65
  98. package/examples/datamining/Transformation/PartitioningWithOversampling.json +44 -44
  99. package/examples/datamining/Transformation/PrincipalComponentsAnalysis.json +52 -52
  100. package/examples/datamining/Transformation/Rescaling.json +67 -67
  101. package/examples/datamining/Transformation/Sampling.json +43 -43
  102. package/examples/datamining/Transformation/StratifiedSampling.json +46 -46
  103. package/examples/flow/SQLServerTransform.json +260 -260
  104. package/examples/flow/dm-calc-pipeline.json +277 -277
  105. package/examples/flow/dm-pipeline-simulation.json +113 -113
  106. package/examples/flow/opt-sim-pipeline.json +159 -159
  107. package/examples/flow/sim-dm-pipeline.json +106 -106
  108. package/examples/flow/sim-sim-pipeline.json +136 -136
  109. package/examples/index.json +4678 -4678
  110. package/examples/{Optimization → optimization}/Conic/AirlineHubConic.json +111 -111
  111. package/examples/{Optimization → optimization}/Conic/AirlineHubConic2.json +108 -108
  112. package/examples/{Optimization → optimization}/Conic/AirlineHubConic3.json +111 -111
  113. package/examples/{Optimization → optimization}/Conic/AirlineHubConic4.json +99 -99
  114. package/examples/{Optimization → optimization}/Conic/AirlineHubConic5.json +101 -101
  115. package/examples/{Optimization → optimization}/DataBinding/ProductMixCsv.json +81 -81
  116. package/examples/{Optimization → optimization}/DataBinding/ProductMixCsv4.json +96 -96
  117. package/examples/{Optimization → optimization}/DataBinding/ProductMixExcel.json +73 -73
  118. package/examples/{Optimization → optimization}/DataBinding/ProductMixExcel1.json +86 -86
  119. package/examples/{Optimization → optimization}/DataBinding/ProductMixExcel11.json +108 -108
  120. package/examples/{Optimization → optimization}/DataBinding/ProductMixExcel2.json +77 -77
  121. package/examples/{Optimization → optimization}/DataBinding/ProductMixTab.json +89 -89
  122. package/examples/{Optimization → optimization}/DataBinding/ProductMixTab1.json +73 -73
  123. package/examples/{Optimization → optimization}/DataBinding/ProductMixTab2.json +77 -77
  124. package/examples/{Optimization → optimization}/Linear/Inventory.json +199 -199
  125. package/examples/{Optimization → optimization}/Linear/Matop.json +119 -119
  126. package/examples/{Optimization → optimization}/Linear/ProductMix.json +97 -97
  127. package/examples/{Optimization → optimization}/Linear/ProductMix2.json +72 -72
  128. package/examples/{Optimization → optimization}/Linear/ProductMix3.json +49 -49
  129. package/examples/{Optimization → optimization}/Linear/ProductMix4.json +56 -56
  130. package/examples/{Optimization → optimization}/Linear/ProductMixCsv1.json +106 -106
  131. package/examples/{Optimization → optimization}/Linear/ProductMixCsv2.json +106 -106
  132. package/examples/{Optimization → optimization}/Linear/ProductMixSQL11.json +82 -82
  133. package/examples/{Optimization → optimization}/Linear/Rowop.json +126 -126
  134. package/examples/{Optimization → optimization}/NonLinear/AirlineHub.json +63 -63
  135. package/examples/{Optimization → optimization}/NonLinear/AirlineHub2.json +47 -47
  136. package/examples/{Optimization → optimization}/NonLinear/AirlineHub3.json +47 -47
  137. package/examples/{Optimization → optimization}/NonSmooth/Inventory2.json +159 -159
  138. package/examples/{Optimization → optimization}/Quadratic/PortfolioOpt.json +55 -55
  139. package/examples/{Optimization → optimization}/Quadratic/PortfolioOpt2.json +65 -65
  140. package/examples/{Optimization → optimization}/WithUncertainty/GasCompanyChance.json +78 -78
  141. package/examples/{Optimization → optimization}/WithUncertainty/GasCompanyRecourse.json +78 -78
  142. package/examples/{Optimization → optimization}/WithUncertainty/ProjectSelect.json +77 -77
  143. package/examples/{Optimization → optimization}/WithUncertainty/ProjectSelect2.json +81 -81
  144. package/examples/{Optimization → optimization}/WithUncertainty/ProjectSelect3.json +84 -84
  145. package/examples/{Optimization → optimization}/WithUncertainty/ProjectSelect4.json +74 -74
  146. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/DataFiltering/ListwithFilter.json +52 -52
  147. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ProductMix5.json +57 -57
  148. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/compoundWhileStatement.json +35 -35
  149. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ifThenElseStatement.json +33 -33
  150. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/nestedLoop.json +25 -25
  151. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/ParallelArray.json +47 -47
  152. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/indexedArray.json +69 -69
  153. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/nonParallelArray.json +49 -49
  154. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/sumAggregateExample.json +337 -337
  155. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/tsp.json +61 -61
  156. package/examples/rason-features/BoxIterators/Box_Fun_Loop_Iter_Sim_RASON.json +190 -190
  157. package/examples/rason-features/BoxIterators/Box_Fun_Loop_Sim_RASON.json +75 -75
  158. package/examples/rason-features/BoxIterators/Box_Fun_Sim_RASON.json +108 -108
  159. package/examples/rason-features/BoxIterators/Box_Iter_SIM_RASON.json +68 -68
  160. package/examples/rason-features/BoxIterators/Box_Iterator_Calc_Loop.json +183 -183
  161. package/examples/rason-features/BoxIterators/Box_Iterator_with_typeDef_partial.json +79 -79
  162. package/examples/rason-features/BoxLambdaExamples/BoxFunOptimize.json +154 -154
  163. package/examples/rason-features/BoxLambdaExamples/BoxFunSimulate.json +118 -118
  164. package/examples/rason-features/BoxLambdaExamples/LambdaFunOptimize.json +142 -142
  165. package/examples/rason-features/BoxLambdaExamples/LambdaFunSimulate.json +81 -81
  166. package/examples/rason-features/ReferenceGuide/RGFirehouseLocation.json +69 -69
  167. package/examples/rason-features/ReferenceGuide/RGFirehouseLocationConic.json +113 -113
  168. package/examples/rason-features/ReferenceGuide/RGProductMixCsv1.json +107 -107
  169. package/examples/rason-features/ReferenceGuide/RGProductMixExcel11.json +117 -117
  170. package/examples/rason-features/ReferenceGuide/RGProductMixSQL11.json +108 -108
  171. package/examples/rason-features/UserGuide/UGAirlineHubCSV.json +67 -67
  172. package/examples/rason-features/UserGuide/UGForecast.json +50 -50
  173. package/examples/rason-features/UserGuide/UGProductMix1.json +48 -48
  174. package/examples/rason-features/UserGuide/UGProductMix2.json +48 -48
  175. package/examples/rason-features/UserGuide/UGProductMixTab1.json +67 -67
  176. package/examples/rason-features/UserGuide/UGProductMixTab2.json +76 -76
  177. package/examples/rason-features/UserGuide/UGProductMixTab3.json +66 -66
  178. package/examples/rason-features/UserGuide/UGProductMixTab4.json +70 -70
  179. package/examples/rason-features/UserGuide/UGProductMixTab5.json +67 -67
  180. package/examples/rason-features/UserGuide/UGProjectSelect0.json +91 -91
  181. package/examples/rason-features/UserGuide/UGProjectSelect1.json +74 -74
  182. package/examples/rason-features/UserGuide/UGProjectSelect2.json +74 -74
  183. package/examples/rason-features/UserGuide/UGYieldManagement1.json +61 -61
  184. package/examples/rason-features/UserGuide/UGYieldManagement2.json +61 -61
  185. package/examples/rason-features/UserGuide/UGYieldManagement3.json +63 -63
  186. package/examples/{Simulation → simulation}/CandyStoreSalesUsingSIP.json +147 -147
  187. package/examples/{Simulation → simulation}/CollegeFundGrowth1.json +423 -423
  188. package/examples/{Simulation → simulation}/CollegeFundGrowth1SIPModel.json +27 -27
  189. package/examples/{Simulation → simulation}/CollegeFundGrowth2.json +415 -415
  190. package/examples/{Simulation → simulation}/CollegeFundGrowthSIP.json +401 -401
  191. package/examples/{Simulation → simulation}/GBMSimulationModel.json +236 -236
  192. package/examples/{Simulation → simulation}/YieldManagement(Sim).json +69 -69
  193. package/examples/{Simulation → simulation}/YieldManagement2(Sim).json +72 -72
  194. package/out/index.cjs +38 -38
  195. package/package.json +2 -2
@@ -1,75 +1,75 @@
1
- {
2
- "modelName": "UGProjectSelect1Example",
3
- "modelDescription": "RASON Stochastic Optimization Example: This example is a Stochastic LP and is discussed in the chapter, Defining Your Stochastic Optimization Model, within the RASON User Guide (downloadable from the Help tab). The original model, UGProjectSelect0 (Examples -- Models discussed in User Guide -- UGProjectSelect0.json) is solved via Simulation Optimization. However, there are two additional methods besides simulation optimization that can solve Stochastic LPs, stochastic programming and robust optimization. For this model, we will choose a transformation to Stochastic Programming Deterministic Equivalent by replacing simulationOptimization: True with transformStochastic: deterministicEquivalent in modelSettings.",
4
- "modelType": "optimization",
5
- "modelSettings": {
6
- "comment": "To use stochastic programming deterministic equivalent, set transformStochastic to deterministicEquivalent. The number of trials is set to 1000, the default. The rest of the model remains unchanged from the original example, UGProjectSelect0. ",
7
- "transformStochastic": "deterministicEquivalent",
8
- "numTrials": 1000
9
- },
10
- "engineSettings": {
11
- "randomSeed": 1
12
- },
13
- "variables": {
14
- "x": {
15
- "dimensions": [ 8 ],
16
- "type": "binary",
17
- "finalValue": []
18
- }
19
- },
20
- "uncertainVariables": {
21
- "c": {
22
- "dimensions": [ 8 ]
23
- },
24
- "d": {
25
- "dimensions": [ 8 ],
26
- "formula": "PsiBinomial(1, 0.9)"
27
- },
28
- "c[1]": {
29
- "formula": "PsiTriangular(400000, 500000, 900000)"
30
- },
31
- "c[2]": {
32
- "formula": "PsiTriangular(500000, 750000, 1250000)"
33
- },
34
- "c[3]": {
35
- "formula": "PsiTriangular(500000, 1000000,1500000)"
36
- },
37
- "c[4]": {
38
- "formula": "PsiTriangular(400000, 600000, 900000)"
39
- },
40
- "c[5]": {
41
- "formula": "PsiTriangular(250000, 500000, 750000)"
42
- },
43
- "c[6]": {
44
- "formula": "PsiTriangular(300000, 500000, 600000)"
45
- },
46
- "c[7]": {
47
- "formula": "PsiTriangular(200000, 450000, 700000)"
48
- },
49
- "c[8]": {
50
- "formula": "PsiTriangular(400000, 500000, 700000)"
51
- }
52
- },
53
- "formulas": {
54
- "f": {
55
- "value": [ 325000, 450000, 550000, 300000, 150000, 250000, 150000, 325000 ]
56
- },
57
- "cash": {
58
- "formula": "sumproduct(c * d - f, x)"
59
- }
60
- },
61
- "constraints": {
62
- "invest": {
63
- "formula": "sumproduct(f, x)",
64
- "upper": 1500000
65
- }
66
- },
67
- "objective": {
68
- "total": {
69
- "type": "maximize",
70
- "formula": "cash",
71
- "chanceType": "ExpVal",
72
- "finalValue": []
73
- }
74
- }
1
+ {
2
+ "modelName": "UGProjectSelect1Example",
3
+ "modelDescription": "RASON Stochastic Optimization Example: This example is a Stochastic LP and is discussed in the chapter, Defining Your Stochastic Optimization Model, within the RASON User Guide (downloadable from the Help tab). The original model, UGProjectSelect0 (Examples -- Models discussed in User Guide -- UGProjectSelect0.json) is solved via Simulation Optimization. However, there are two additional methods besides simulation optimization that can solve Stochastic LPs, stochastic programming and robust optimization. For this model, we will choose a transformation to Stochastic Programming Deterministic Equivalent by replacing simulationOptimization: True with transformStochastic: deterministicEquivalent in modelSettings.",
4
+ "modelType": "optimization",
5
+ "modelSettings": {
6
+ "comment": "To use stochastic programming deterministic equivalent, set transformStochastic to deterministicEquivalent. The number of trials is set to 1000, the default. The rest of the model remains unchanged from the original example, UGProjectSelect0. ",
7
+ "transformStochastic": "deterministicEquivalent",
8
+ "numTrials": 1000
9
+ },
10
+ "engineSettings": {
11
+ "randomSeed": 1
12
+ },
13
+ "variables": {
14
+ "x": {
15
+ "dimensions": [ 8 ],
16
+ "type": "binary",
17
+ "finalValue": []
18
+ }
19
+ },
20
+ "uncertainVariables": {
21
+ "c": {
22
+ "dimensions": [ 8 ]
23
+ },
24
+ "d": {
25
+ "dimensions": [ 8 ],
26
+ "formula": "PsiBinomial(1, 0.9)"
27
+ },
28
+ "c[1]": {
29
+ "formula": "PsiTriangular(400000, 500000, 900000)"
30
+ },
31
+ "c[2]": {
32
+ "formula": "PsiTriangular(500000, 750000, 1250000)"
33
+ },
34
+ "c[3]": {
35
+ "formula": "PsiTriangular(500000, 1000000,1500000)"
36
+ },
37
+ "c[4]": {
38
+ "formula": "PsiTriangular(400000, 600000, 900000)"
39
+ },
40
+ "c[5]": {
41
+ "formula": "PsiTriangular(250000, 500000, 750000)"
42
+ },
43
+ "c[6]": {
44
+ "formula": "PsiTriangular(300000, 500000, 600000)"
45
+ },
46
+ "c[7]": {
47
+ "formula": "PsiTriangular(200000, 450000, 700000)"
48
+ },
49
+ "c[8]": {
50
+ "formula": "PsiTriangular(400000, 500000, 700000)"
51
+ }
52
+ },
53
+ "formulas": {
54
+ "f": {
55
+ "value": [ 325000, 450000, 550000, 300000, 150000, 250000, 150000, 325000 ]
56
+ },
57
+ "cash": {
58
+ "formula": "sumproduct(c * d - f, x)"
59
+ }
60
+ },
61
+ "constraints": {
62
+ "invest": {
63
+ "formula": "sumproduct(f, x)",
64
+ "upper": 1500000
65
+ }
66
+ },
67
+ "objective": {
68
+ "total": {
69
+ "type": "maximize",
70
+ "formula": "cash",
71
+ "chanceType": "ExpVal",
72
+ "finalValue": []
73
+ }
74
+ }
75
75
  }
@@ -1,75 +1,75 @@
1
- {
2
- "modelName": "UGProjectSelect2Example",
3
- "modelDescription": "RASON Stochastic Optimization Model: Robust Counterpart: This example is a Stochastic LP. This example is not directly discussed in the Defining Your Stochastic Optimization Model. Rather, this example simply uses the 3rd and final method to solve a stochastic LP. Recall that UGProjectSelect0 solved via simulation optimization and UGProjectSelect1 solved via stochastic transformation using the deterministic method. This example uses the stochastic transformation using the robust counterpart method. To use robust counterpart, simply enter 'robustCounterpart' for 'transformStochastic' in 'modelSettings'. The remainder of the model remains unchanged from UGProjectSelect1.",
4
- "modelType": "optimization",
5
- "modelSettings": {
6
- "comment": "To use the robust counterpart method, simply enter 'transformStochastic':'robustCounterpart'.",
7
- "transformStochastic": "robustCounterpart",
8
- "numTrials": 1000
9
- },
10
- "engineSettings": {
11
- "randomSeed": 1
12
- },
13
- "variables": {
14
- "x": {
15
- "dimensions": [ 8 ],
16
- "type": "binary",
17
- "finalValue": []
18
- }
19
- },
20
- "uncertainVariables": {
21
- "c": {
22
- "dimensions": [ 8 ]
23
- },
24
- "d": {
25
- "dimensions": [ 8 ],
26
- "formula": "PsiBinomial(1, 0.9)"
27
- },
28
- "c[1]": {
29
- "formula": "PsiTriangular(400000, 500000, 900000)"
30
- },
31
- "c[2]": {
32
- "formula": "PsiTriangular(500000, 750000, 1250000)"
33
- },
34
- "c[3]": {
35
- "formula": "PsiTriangular(500000, 1000000,1500000)"
36
- },
37
- "c[4]": {
38
- "formula": "PsiTriangular(400000, 600000, 900000)"
39
- },
40
- "c[5]": {
41
- "formula": "PsiTriangular(250000, 500000, 750000)"
42
- },
43
- "c[6]": {
44
- "formula": "PsiTriangular(300000, 500000, 600000)"
45
- },
46
- "c[7]": {
47
- "formula": "PsiTriangular(200000, 450000, 700000)"
48
- },
49
- "c[8]": {
50
- "formula": "PsiTriangular(400000, 500000, 700000)"
51
- }
52
- },
53
- "formulas": {
54
- "f": {
55
- "value": [ 325000, 450000, 550000, 300000, 150000, 250000, 150000, 325000 ]
56
- },
57
- "cash": {
58
- "formula": "sumproduct(c * d - f, x)"
59
- }
60
- },
61
- "constraints": {
62
- "invest": {
63
- "formula": "sumproduct(f, x)",
64
- "upper": 1500000
65
- }
66
- },
67
- "objective": {
68
- "total": {
69
- "type": "maximize",
70
- "formula": "cash",
71
- "chanceType": "ExpVal",
72
- "finalValue": []
73
- }
74
- }
1
+ {
2
+ "modelName": "UGProjectSelect2Example",
3
+ "modelDescription": "RASON Stochastic Optimization Model: Robust Counterpart: This example is a Stochastic LP. This example is not directly discussed in the Defining Your Stochastic Optimization Model. Rather, this example simply uses the 3rd and final method to solve a stochastic LP. Recall that UGProjectSelect0 solved via simulation optimization and UGProjectSelect1 solved via stochastic transformation using the deterministic method. This example uses the stochastic transformation using the robust counterpart method. To use robust counterpart, simply enter 'robustCounterpart' for 'transformStochastic' in 'modelSettings'. The remainder of the model remains unchanged from UGProjectSelect1.",
4
+ "modelType": "optimization",
5
+ "modelSettings": {
6
+ "comment": "To use the robust counterpart method, simply enter 'transformStochastic':'robustCounterpart'.",
7
+ "transformStochastic": "robustCounterpart",
8
+ "numTrials": 1000
9
+ },
10
+ "engineSettings": {
11
+ "randomSeed": 1
12
+ },
13
+ "variables": {
14
+ "x": {
15
+ "dimensions": [ 8 ],
16
+ "type": "binary",
17
+ "finalValue": []
18
+ }
19
+ },
20
+ "uncertainVariables": {
21
+ "c": {
22
+ "dimensions": [ 8 ]
23
+ },
24
+ "d": {
25
+ "dimensions": [ 8 ],
26
+ "formula": "PsiBinomial(1, 0.9)"
27
+ },
28
+ "c[1]": {
29
+ "formula": "PsiTriangular(400000, 500000, 900000)"
30
+ },
31
+ "c[2]": {
32
+ "formula": "PsiTriangular(500000, 750000, 1250000)"
33
+ },
34
+ "c[3]": {
35
+ "formula": "PsiTriangular(500000, 1000000,1500000)"
36
+ },
37
+ "c[4]": {
38
+ "formula": "PsiTriangular(400000, 600000, 900000)"
39
+ },
40
+ "c[5]": {
41
+ "formula": "PsiTriangular(250000, 500000, 750000)"
42
+ },
43
+ "c[6]": {
44
+ "formula": "PsiTriangular(300000, 500000, 600000)"
45
+ },
46
+ "c[7]": {
47
+ "formula": "PsiTriangular(200000, 450000, 700000)"
48
+ },
49
+ "c[8]": {
50
+ "formula": "PsiTriangular(400000, 500000, 700000)"
51
+ }
52
+ },
53
+ "formulas": {
54
+ "f": {
55
+ "value": [ 325000, 450000, 550000, 300000, 150000, 250000, 150000, 325000 ]
56
+ },
57
+ "cash": {
58
+ "formula": "sumproduct(c * d - f, x)"
59
+ }
60
+ },
61
+ "constraints": {
62
+ "invest": {
63
+ "formula": "sumproduct(f, x)",
64
+ "upper": 1500000
65
+ }
66
+ },
67
+ "objective": {
68
+ "total": {
69
+ "type": "maximize",
70
+ "formula": "cash",
71
+ "chanceType": "ExpVal",
72
+ "finalValue": []
73
+ }
74
+ }
75
75
  }
@@ -1,62 +1,62 @@
1
- {
2
- "modelName": "UGYieldManagement1Example",
3
- "modelDescription": "RASON Single Simulation Example: This model is discussed in the chapter, Defining a Simulation Model within the Rason User Guide (downloadable from the Help tab). This example is a simple airline revenue management model, also known as a yield management model. the subsequentexamples, UGYieldManagement2 and UGYieldManagement3, will transform this simple simulation model, first into a parameterized model in the next example and then a simulation optimization model in the third example. The example files that are discussed are: UGYieldManagement1.json (a simple simulation model), UGYieldManagement2.json (a model with multiple parameterized simulations) and UGYieldManagement3.json (a simulation optimization model). You can open each example by clicking RASON Examples on the Editor page, then Example models discussed in RASON User Guide.",
4
- "comment": "The model depicts a hypothetical airline flight from San Francisco to Seattle. The flight has 100 seats, and tickets are $200 per seat. Some passengers who purchase tickets are 'no-shows' whose seats will be empty; in this example we assume that such passengers receive a refund of 50% of their purchase price. To utilize their 'perishable inventory' of seats, the airline would like to sell more than 100 tickets for each flight. But we assume that Federal regulations require that any ticketed passenger who is unable to board the flight due to overbooking is entitled to compensation of 125% of the ticket price. The airline would like to know how much revenue it will generate from each flight, less refunds for no-shows and compensation for 'bumped' passengers. To perform a single simulation (with 1,000 Monte Carlo trials) using click POST rason.net/api/model to POST the model to the RASON Server and then POST rason.net/api/model/{nameorid}/simulate to run the simulation.",
5
- "modelType": "simulation",
6
- "modelSettings": {
7
- "comment": "Sets the number of simulations to 1, the default, and the number of trials to 1000, also the default.",
8
- "numSimulations": 1,
9
- "numTrials": 1000
10
- },
11
- "engineSettings": {
12
- "randomSeed": 1
13
- },
14
- "data": {
15
- "comment": "The data section holds constant values used in the model such as ticket price, plane capacity, number of tickets sold, the refund percentage for a no show passenger and the refund percentage for any 'bumped' passengers. ",
16
- "price": {
17
- "comment": "ticket price",
18
- "value": 200
19
- },
20
- "capacity": {
21
- "comment": "number of seats on the plane",
22
- "value": 100
23
- },
24
- "sold": {
25
- "comment": "number of tickets sold",
26
- "value": 110
27
- },
28
- "refund_no_shows": {
29
- "comment": "refund percentage for a passenger who misses their flight.",
30
- "value": 0.5
31
- },
32
- "refund_overbook": {
33
- "comment": "refund percentage for any 'bumped' passengers",
34
- "value": 1.25
35
- }
36
- },
37
- "uncertainVariables": {
38
- "no_shows": {
39
- "comment": "The uncertain quantity in this model is the number of no-shows; hence we should model this with an uncertain variable. The number of no-shows will depend on the number of tickets sold. After some research, it is decided to use a LogNormal distribution to model the number of no-shows. The expected value of this uncertain variable will be returned in the results, due to the presence of the 'mean' property.",
40
- "formula": "PsiLogNormal(0.1*sold, 0.06*sold)",
41
- "mean": []
42
- }
43
- },
44
- "formulas": {
45
- "comment": "Within formulas, the formula for show_ups contains the ROUND(no_shows,0) function to ensure that the number of no-shows is an integer value – and this is used to compute the net revenue in the revenue uncertain function.",
46
- "show_ups": {
47
- "formula": "sold - Round(no_shows, 0)"
48
- },
49
- "overbook": {
50
- "formula": "Max(0, show_ups - capacity)"
51
- }
52
- },
53
- "uncertainFunctions": {
54
- "revenue": {
55
- "comment": "The airline would like to know how much revenue it will generate from each flight, less refunds for no-shows and compensation for 'bumped' passengers. This net revenue amount is calculated in revenue within uncertainFunctions, for any specific number of tickets sold (110 above) and number of no-shows (5 above). The expected value of this uncertain function, along with the function's percentiles and all 1000 trial values will be returned in the results, due to the presence of the 'mean', percentiles and trials properties, respectively.",
56
- "formula": "price*(sold - refund_no_shows*Round(no_shows, 0) - refund_overbook*overbook)",
57
- "mean": [],
58
- "percentiles": [],
59
- "trials": []
60
- }
61
- }
1
+ {
2
+ "modelName": "UGYieldManagement1Example",
3
+ "modelDescription": "RASON Single Simulation Example: This model is discussed in the chapter, Defining a Simulation Model within the Rason User Guide (downloadable from the Help tab). This example is a simple airline revenue management model, also known as a yield management model. the subsequentexamples, UGYieldManagement2 and UGYieldManagement3, will transform this simple simulation model, first into a parameterized model in the next example and then a simulation optimization model in the third example. The example files that are discussed are: UGYieldManagement1.json (a simple simulation model), UGYieldManagement2.json (a model with multiple parameterized simulations) and UGYieldManagement3.json (a simulation optimization model). You can open each example by clicking RASON Examples on the Editor page, then Example models discussed in RASON User Guide.",
4
+ "comment": "The model depicts a hypothetical airline flight from San Francisco to Seattle. The flight has 100 seats, and tickets are $200 per seat. Some passengers who purchase tickets are 'no-shows' whose seats will be empty; in this example we assume that such passengers receive a refund of 50% of their purchase price. To utilize their 'perishable inventory' of seats, the airline would like to sell more than 100 tickets for each flight. But we assume that Federal regulations require that any ticketed passenger who is unable to board the flight due to overbooking is entitled to compensation of 125% of the ticket price. The airline would like to know how much revenue it will generate from each flight, less refunds for no-shows and compensation for 'bumped' passengers. To perform a single simulation (with 1,000 Monte Carlo trials) using click POST rason.net/api/model to POST the model to the RASON Server and then POST rason.net/api/model/{nameorid}/simulate to run the simulation.",
5
+ "modelType": "simulation",
6
+ "modelSettings": {
7
+ "comment": "Sets the number of simulations to 1, the default, and the number of trials to 1000, also the default.",
8
+ "numSimulations": 1,
9
+ "numTrials": 1000
10
+ },
11
+ "engineSettings": {
12
+ "randomSeed": 1
13
+ },
14
+ "data": {
15
+ "comment": "The data section holds constant values used in the model such as ticket price, plane capacity, number of tickets sold, the refund percentage for a no show passenger and the refund percentage for any 'bumped' passengers. ",
16
+ "price": {
17
+ "comment": "ticket price",
18
+ "value": 200
19
+ },
20
+ "capacity": {
21
+ "comment": "number of seats on the plane",
22
+ "value": 100
23
+ },
24
+ "sold": {
25
+ "comment": "number of tickets sold",
26
+ "value": 110
27
+ },
28
+ "refund_no_shows": {
29
+ "comment": "refund percentage for a passenger who misses their flight.",
30
+ "value": 0.5
31
+ },
32
+ "refund_overbook": {
33
+ "comment": "refund percentage for any 'bumped' passengers",
34
+ "value": 1.25
35
+ }
36
+ },
37
+ "uncertainVariables": {
38
+ "no_shows": {
39
+ "comment": "The uncertain quantity in this model is the number of no-shows; hence we should model this with an uncertain variable. The number of no-shows will depend on the number of tickets sold. After some research, it is decided to use a LogNormal distribution to model the number of no-shows. The expected value of this uncertain variable will be returned in the results, due to the presence of the 'mean' property.",
40
+ "formula": "PsiLogNormal(0.1*sold, 0.06*sold)",
41
+ "mean": []
42
+ }
43
+ },
44
+ "formulas": {
45
+ "comment": "Within formulas, the formula for show_ups contains the ROUND(no_shows,0) function to ensure that the number of no-shows is an integer value – and this is used to compute the net revenue in the revenue uncertain function.",
46
+ "show_ups": {
47
+ "formula": "sold - Round(no_shows, 0)"
48
+ },
49
+ "overbook": {
50
+ "formula": "Max(0, show_ups - capacity)"
51
+ }
52
+ },
53
+ "uncertainFunctions": {
54
+ "revenue": {
55
+ "comment": "The airline would like to know how much revenue it will generate from each flight, less refunds for no-shows and compensation for 'bumped' passengers. This net revenue amount is calculated in revenue within uncertainFunctions, for any specific number of tickets sold (110 above) and number of no-shows (5 above). The expected value of this uncertain function, along with the function's percentiles and all 1000 trial values will be returned in the results, due to the presence of the 'mean', percentiles and trials properties, respectively.",
56
+ "formula": "price*(sold - refund_no_shows*Round(no_shows, 0) - refund_overbook*overbook)",
57
+ "mean": [],
58
+ "percentiles": [],
59
+ "trials": []
60
+ }
61
+ }
62
62
  }
@@ -1,62 +1,62 @@
1
- {
2
- "modelName": "UGYieldManagement2Example",
3
- "modelDescription": "RASON Parametric Simulation Model: In the simulation results for the original model, UGYieldMangement1, the mean or expected net revenue is about $20,000. The 10th percentile equals 19,950, which infers that if 110 tickets are sold, the revenue earned is almost as much as a full flight 90% of the time. (Full flight revenue = 100*200) This leads to the question, should we sell more tickets? How many tickets can we sell in order to increase revenue? One could simply enter various values for 'sold', each time recording the revenue value to see if it increases or decreases. However, entering the parameter PsiSimParam() allows multiple values to be entered and simulations performed, all at once!",
4
- "comment": "In this example, a simulation parameter has been entered into a new section, 'parameters', and the number of simulations (numSimulations) has been set to 41 within 'modelSettings'. RASON will perform 41 simulations. In the first simulation, a value of 110 will be used for 'sold'. In the 2nd simulation, a value of 111 will be used for sold, in the third, a value of 112, etc...all the way to the 41st simulation which will use 150 for 'sold' ",
5
- "modelType": "simulation",
6
- "modelSettings": {
7
- "comment": "Set the number of simulations to 41 to run 41 simulations, each with a different value for 'sold'. To see the results of just one of the simulations, use the simulationIndex property, for example 'simulationIndex':5 will return results of (only) the 5th simulation.",
8
- "numSimulations": 41,
9
- "numTrials": 1000
10
- },
11
- "engineSettings": {
12
- "randomSeed": 1
13
- },
14
- "parameters": {
15
- "comment": "The PsiSimParam will vary the value for 'sold' each time a simulation is performed. Each value of the PsiSimParam will be returned in the results due to the presence of the finalValue property.",
16
- "sold": {
17
- "formula": "PsiSimParam(110,150)",
18
- "finalValue": []
19
- }
20
- },
21
- "data": {
22
- "comment": "The data section remains unchanged from UGYieldManagement1, except sold has been deleted as it now appears in the parameters section above.",
23
- "price": {
24
- "value": 200
25
- },
26
- "capacity": {
27
- "value": 100
28
- },
29
- "refund_no_shows": {
30
- "value": 0.5
31
- },
32
- "refund_overbook": {
33
- "value": 1.25
34
- }
35
- },
36
- "uncertainVariables": {
37
- "comment": "This section remains unchanged from UGYieldManagement1.",
38
- "no_shows": {
39
- "formula": "PsiLogNormal(0.1*sold, 0.06*sold)",
40
- "mean": []
41
- }
42
- },
43
- "formulas": {
44
- "comment": "This section remains unchanged from UGYieldManagement1.",
45
- "show_ups": {
46
- "formula": "sold - Round(no_shows, 0)"
47
- },
48
- "overbook": {
49
- "formula": "Max(0, show_ups - capacity)"
50
- }
51
- },
52
- "uncertainFunctions": {
53
- "comment": "This section remains unchanged from UGYieldManagement1.",
54
- "revenue": {
55
- "formula": "price*(sold - refund_no_shows*Round(no_shows, 0) - refund_overbook*overbook)",
56
- "mean": [],
57
- "percentiles": [],
58
- "trials": []
59
- }
60
- }
61
- }
1
+ {
2
+ "modelName": "UGYieldManagement2Example",
3
+ "modelDescription": "RASON Parametric Simulation Model: In the simulation results for the original model, UGYieldMangement1, the mean or expected net revenue is about $20,000. The 10th percentile equals 19,950, which infers that if 110 tickets are sold, the revenue earned is almost as much as a full flight 90% of the time. (Full flight revenue = 100*200) This leads to the question, should we sell more tickets? How many tickets can we sell in order to increase revenue? One could simply enter various values for 'sold', each time recording the revenue value to see if it increases or decreases. However, entering the parameter PsiSimParam() allows multiple values to be entered and simulations performed, all at once!",
4
+ "comment": "In this example, a simulation parameter has been entered into a new section, 'parameters', and the number of simulations (numSimulations) has been set to 41 within 'modelSettings'. RASON will perform 41 simulations. In the first simulation, a value of 110 will be used for 'sold'. In the 2nd simulation, a value of 111 will be used for sold, in the third, a value of 112, etc...all the way to the 41st simulation which will use 150 for 'sold' ",
5
+ "modelType": "simulation",
6
+ "modelSettings": {
7
+ "comment": "Set the number of simulations to 41 to run 41 simulations, each with a different value for 'sold'. To see the results of just one of the simulations, use the simulationIndex property, for example 'simulationIndex':5 will return results of (only) the 5th simulation.",
8
+ "numSimulations": 41,
9
+ "numTrials": 1000
10
+ },
11
+ "engineSettings": {
12
+ "randomSeed": 1
13
+ },
14
+ "parameters": {
15
+ "comment": "The PsiSimParam will vary the value for 'sold' each time a simulation is performed. Each value of the PsiSimParam will be returned in the results due to the presence of the finalValue property.",
16
+ "sold": {
17
+ "formula": "PsiSimParam(110,150)",
18
+ "finalValue": []
19
+ }
20
+ },
21
+ "data": {
22
+ "comment": "The data section remains unchanged from UGYieldManagement1, except sold has been deleted as it now appears in the parameters section above.",
23
+ "price": {
24
+ "value": 200
25
+ },
26
+ "capacity": {
27
+ "value": 100
28
+ },
29
+ "refund_no_shows": {
30
+ "value": 0.5
31
+ },
32
+ "refund_overbook": {
33
+ "value": 1.25
34
+ }
35
+ },
36
+ "uncertainVariables": {
37
+ "comment": "This section remains unchanged from UGYieldManagement1.",
38
+ "no_shows": {
39
+ "formula": "PsiLogNormal(0.1*sold, 0.06*sold)",
40
+ "mean": []
41
+ }
42
+ },
43
+ "formulas": {
44
+ "comment": "This section remains unchanged from UGYieldManagement1.",
45
+ "show_ups": {
46
+ "formula": "sold - Round(no_shows, 0)"
47
+ },
48
+ "overbook": {
49
+ "formula": "Max(0, show_ups - capacity)"
50
+ }
51
+ },
52
+ "uncertainFunctions": {
53
+ "comment": "This section remains unchanged from UGYieldManagement1.",
54
+ "revenue": {
55
+ "formula": "price*(sold - refund_no_shows*Round(no_shows, 0) - refund_overbook*overbook)",
56
+ "mean": [],
57
+ "percentiles": [],
58
+ "trials": []
59
+ }
60
+ }
61
+ }
62
62