@frontlinesystems/rason-mcp-server 2026.5.1 → 2026.5.3

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 (194) hide show
  1. package/LICENSE +35 -35
  2. package/examples/EXAMPLES_REFERENCE.md +128 -128
  3. package/examples/{optimization → Optimization}/Conic/AirlineHubConic.json +111 -111
  4. package/examples/{optimization → Optimization}/Conic/AirlineHubConic2.json +108 -108
  5. package/examples/{optimization → Optimization}/Conic/AirlineHubConic3.json +111 -111
  6. package/examples/{optimization → Optimization}/Conic/AirlineHubConic4.json +99 -99
  7. package/examples/{optimization → Optimization}/Conic/AirlineHubConic5.json +101 -101
  8. package/examples/{optimization → Optimization}/DataBinding/ProductMixCsv.json +81 -81
  9. package/examples/{optimization → Optimization}/DataBinding/ProductMixCsv4.json +96 -96
  10. package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel.json +73 -73
  11. package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel1.json +86 -86
  12. package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel11.json +108 -108
  13. package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel2.json +77 -77
  14. package/examples/{optimization → Optimization}/DataBinding/ProductMixTab.json +89 -89
  15. package/examples/{optimization → Optimization}/DataBinding/ProductMixTab1.json +73 -73
  16. package/examples/{optimization → Optimization}/DataBinding/ProductMixTab2.json +77 -77
  17. package/examples/{optimization → Optimization}/Linear/Inventory.json +199 -199
  18. package/examples/{optimization → Optimization}/Linear/Matop.json +119 -119
  19. package/examples/{optimization → Optimization}/Linear/ProductMix.json +97 -97
  20. package/examples/{optimization → Optimization}/Linear/ProductMix2.json +72 -72
  21. package/examples/{optimization → Optimization}/Linear/ProductMix3.json +49 -49
  22. package/examples/{optimization → Optimization}/Linear/ProductMix4.json +56 -56
  23. package/examples/{optimization → Optimization}/Linear/ProductMixCsv1.json +106 -106
  24. package/examples/{optimization → Optimization}/Linear/ProductMixCsv2.json +106 -106
  25. package/examples/{optimization → Optimization}/Linear/ProductMixSQL11.json +82 -82
  26. package/examples/{optimization → Optimization}/Linear/Rowop.json +126 -126
  27. package/examples/{optimization → Optimization}/NonLinear/AirlineHub.json +63 -63
  28. package/examples/{optimization → Optimization}/NonLinear/AirlineHub2.json +47 -47
  29. package/examples/{optimization → Optimization}/NonLinear/AirlineHub3.json +47 -47
  30. package/examples/{optimization → Optimization}/NonSmooth/Inventory2.json +159 -159
  31. package/examples/{optimization → Optimization}/Quadratic/PortfolioOpt.json +55 -55
  32. package/examples/{optimization → Optimization}/Quadratic/PortfolioOpt2.json +65 -65
  33. package/examples/{optimization → Optimization}/WithUncertainty/GasCompanyChance.json +78 -78
  34. package/examples/{optimization → Optimization}/WithUncertainty/GasCompanyRecourse.json +78 -78
  35. package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect.json +77 -77
  36. package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect2.json +81 -81
  37. package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect3.json +84 -84
  38. package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect4.json +74 -74
  39. package/examples/{simulation → Simulation}/CandyStoreSalesUsingSIP.json +147 -147
  40. package/examples/{simulation → Simulation}/CollegeFundGrowth1.json +423 -423
  41. package/examples/{simulation → Simulation}/CollegeFundGrowth1SIPModel.json +27 -27
  42. package/examples/{simulation → Simulation}/CollegeFundGrowth2.json +415 -415
  43. package/examples/{simulation → Simulation}/CollegeFundGrowthSIP.json +401 -401
  44. package/examples/{simulation → Simulation}/GBMSimulationModel.json +236 -236
  45. package/examples/{simulation → Simulation}/YieldManagement(Sim).json +69 -69
  46. package/examples/{simulation → Simulation}/YieldManagement2(Sim).json +72 -72
  47. package/examples/calculation/DMNExamples/DMN Box Fun with typeDef result.json +53 -53
  48. package/examples/calculation/DMNExamples/DMN Context example.json +69 -69
  49. package/examples/calculation/DMNExamples/DMN DT with typeDef result.json +43 -43
  50. package/examples/calculation/DMNExamples/FEEL Date Time example.json +28 -28
  51. package/examples/calculation/DMNExamples/FEEL For iteration example.json +66 -66
  52. package/examples/calculation/DMNExamples/FEEL For with two indices.json +15 -15
  53. package/examples/calculation/DMNExamples/FEEL For with typeDef result.json +88 -88
  54. package/examples/calculation/DMNExamples/FEEL If Then Else example.json +25 -25
  55. package/examples/calculation/DMNExamples/FEEL List example.json +37 -37
  56. package/examples/calculation/DMNExamples/FEEL List operator.json +17 -17
  57. package/examples/calculation/DMNExamples/FEEL List with typeDef collection.json +36 -36
  58. package/examples/calculation/DMNExamples/FEEL Some or Every example.json +65 -65
  59. package/examples/calculation/DecisionTables/DT Datasource example.json +52 -52
  60. package/examples/calculation/DecisionTables/DT Date and Time examples.json +91 -91
  61. package/examples/calculation/DecisionTables/DT Expression example.json +32 -32
  62. package/examples/calculation/DecisionTables/DT Hit Policy examples.json +136 -136
  63. package/examples/calculation/DecisionTables/DT Loan Recommend model.json +81 -81
  64. package/examples/calculation/DecisionTables/DT Loan Strategy Model and Predictive CSV-XML.json +218 -218
  65. package/examples/calculation/DecisionTables/DT Loan Strategy model and Datasource.json +286 -286
  66. package/examples/calculation/DecisionTables/DT Loan Strategy model and Predictive.json +203 -203
  67. package/examples/calculation/DecisionTables/DT Loan Strategy model by scratch.json +214 -214
  68. package/examples/calculation/DecisionTables/DT Output Order example.json +39 -39
  69. package/examples/calculation/DecisionTables/DT Unique example.json +38 -38
  70. package/examples/calculation/TypeDefinitions/TypeDefCF.json +64 -64
  71. package/examples/calculation/TypeDefinitions/TypeDefDT.json +57 -57
  72. package/examples/datamining/AffinityAnalysis/AssociationRules.json +51 -51
  73. package/examples/datamining/Classification/DecisionTree.json +90 -90
  74. package/examples/datamining/Classification/DiscriminantAnalysis.json +81 -81
  75. package/examples/datamining/Classification/Ensembles/Bagging.json +66 -66
  76. package/examples/datamining/Classification/Ensembles/Boosting.json +67 -67
  77. package/examples/datamining/Classification/Ensembles/RandomTrees.json +91 -91
  78. package/examples/datamining/Classification/FindBestModel.json +86 -86
  79. package/examples/datamining/Classification/LogisticRegression.json +82 -82
  80. package/examples/datamining/Classification/NaiveBayes.json +78 -78
  81. package/examples/datamining/Classification/NearestNeighbors.json +84 -84
  82. package/examples/datamining/Classification/NeuralNetwork.json +92 -92
  83. package/examples/datamining/Clustering/Hierarchical.json +54 -54
  84. package/examples/datamining/Clustering/KMeans.json +71 -71
  85. package/examples/datamining/DataSources/DelimitedFile.json +49 -49
  86. package/examples/datamining/DataSources/JSONFile.json +49 -49
  87. package/examples/datamining/DataSources/MSAccessDatabase.json +49 -49
  88. package/examples/datamining/DataSources/MSExcelTable.json +50 -50
  89. package/examples/datamining/DataSources/MSSQLDatabase.json +49 -49
  90. package/examples/datamining/DataSources/ODATATable.json +49 -49
  91. package/examples/datamining/DataSources/ODBCDatabase.json +49 -49
  92. package/examples/datamining/FeatureSelection/LinearWrapping.json +53 -53
  93. package/examples/datamining/FeatureSelection/LogisticWrapping.json +56 -56
  94. package/examples/datamining/FeatureSelection/Univariate.json +78 -78
  95. package/examples/datamining/Regression/DecisionTree.json +82 -82
  96. package/examples/datamining/Regression/Ensembles/Bagging.json +62 -62
  97. package/examples/datamining/Regression/Ensembles/Boosting.json +62 -62
  98. package/examples/datamining/Regression/Ensembles/RandomTrees.json +78 -78
  99. package/examples/datamining/Regression/FindBestModel.json +86 -86
  100. package/examples/datamining/Regression/LinearRegression.json +124 -124
  101. package/examples/datamining/Regression/NearestNeighbors.json +77 -77
  102. package/examples/datamining/Regression/NeuralNetwork.json +82 -82
  103. package/examples/datamining/Scoring/JSONClassifier.json +62 -62
  104. package/examples/datamining/Scoring/JSONClassifierNN.json +62 -62
  105. package/examples/datamining/Scoring/JSONClusterizer.json +37 -37
  106. package/examples/datamining/Scoring/JSONForecaster.json +49 -49
  107. package/examples/datamining/Scoring/JSONLinearRegression.json +56 -56
  108. package/examples/datamining/Scoring/JSONPCA.json +41 -41
  109. package/examples/datamining/Scoring/JSONRegressor.json +56 -56
  110. package/examples/datamining/Scoring/JSONTransformer.json +38 -38
  111. package/examples/datamining/Scoring/PMMLClassifier.json +42 -42
  112. package/examples/datamining/Scoring/PMMLForecaster.json +43 -43
  113. package/examples/datamining/Scoring/PMMLRegressor.json +38 -38
  114. package/examples/datamining/Scoring/PMMLTransformer.json +38 -38
  115. package/examples/datamining/Simulation/LinearRegressionSimulation.json +117 -117
  116. package/examples/datamining/Simulation/SyntheticDataGeneration.json +108 -108
  117. package/examples/datamining/Simulation/pmml-risk-scoring.json +62 -62
  118. package/examples/datamining/Summarizer/Summarization.json +54 -54
  119. package/examples/datamining/TextMining/LatentSemanticAnalysis.json +51 -51
  120. package/examples/datamining/TextMining/TfIdf-FileData.json +65 -65
  121. package/examples/datamining/TextMining/TfIdf-InlineData.json +55 -55
  122. package/examples/datamining/TimeSeries/AddHoltWinters.json +79 -79
  123. package/examples/datamining/TimeSeries/Arima.json +74 -74
  124. package/examples/datamining/TimeSeries/DoubleExponential.json +65 -65
  125. package/examples/datamining/TimeSeries/Exponential.json +64 -64
  126. package/examples/datamining/TimeSeries/LagAnalysis.json +48 -48
  127. package/examples/datamining/TimeSeries/MovingAverage.json +65 -65
  128. package/examples/datamining/TimeSeries/MulHoltWinters.json +65 -65
  129. package/examples/datamining/TimeSeries/NoTrendHoltWinters.json +65 -65
  130. package/examples/datamining/Transformation/Binning.json +69 -69
  131. package/examples/datamining/Transformation/CanonicalVariateAnalysis.json +47 -47
  132. package/examples/datamining/Transformation/CategoryReduction.json +51 -51
  133. package/examples/datamining/Transformation/Factorization.json +50 -50
  134. package/examples/datamining/Transformation/MissingDataHandling.json +83 -83
  135. package/examples/datamining/Transformation/OneHotEncoding-DataInline.json +54 -54
  136. package/examples/datamining/Transformation/OneHotEncoding-DatainFile.json +48 -48
  137. package/examples/datamining/Transformation/PartitionTimeSeries.json +48 -48
  138. package/examples/datamining/Transformation/Partitioning-DF.json +72 -72
  139. package/examples/datamining/Transformation/Partitioning.json +46 -46
  140. package/examples/datamining/Transformation/PartitioningWithOversampling-DF.json +65 -65
  141. package/examples/datamining/Transformation/PartitioningWithOversampling.json +44 -44
  142. package/examples/datamining/Transformation/PrincipalComponentsAnalysis.json +52 -52
  143. package/examples/datamining/Transformation/Rescaling.json +67 -67
  144. package/examples/datamining/Transformation/Sampling.json +43 -43
  145. package/examples/datamining/Transformation/StratifiedSampling.json +46 -46
  146. package/examples/flow/SQLServerTransform.json +260 -260
  147. package/examples/flow/dm-calc-pipeline.json +277 -277
  148. package/examples/flow/dm-pipeline-simulation.json +113 -113
  149. package/examples/flow/opt-sim-pipeline.json +159 -159
  150. package/examples/flow/sim-dm-pipeline.json +106 -106
  151. package/examples/flow/sim-sim-pipeline.json +136 -136
  152. package/examples/index.json +4678 -4678
  153. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/DataFiltering/ListwithFilter.json +52 -52
  154. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ProductMix5.json +57 -57
  155. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/compoundWhileStatement.json +35 -35
  156. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ifThenElseStatement.json +33 -33
  157. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/nestedLoop.json +25 -25
  158. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/ParallelArray.json +47 -47
  159. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/indexedArray.json +69 -69
  160. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/nonParallelArray.json +49 -49
  161. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/sumAggregateExample.json +337 -337
  162. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/tsp.json +61 -61
  163. package/examples/rason-features/BoxIterators/Box_Fun_Loop_Iter_Sim_RASON.json +190 -190
  164. package/examples/rason-features/BoxIterators/Box_Fun_Loop_Sim_RASON.json +75 -75
  165. package/examples/rason-features/BoxIterators/Box_Fun_Sim_RASON.json +108 -108
  166. package/examples/rason-features/BoxIterators/Box_Iter_SIM_RASON.json +68 -68
  167. package/examples/rason-features/BoxIterators/Box_Iterator_Calc_Loop.json +183 -183
  168. package/examples/rason-features/BoxIterators/Box_Iterator_with_typeDef_partial.json +79 -79
  169. package/examples/rason-features/BoxLambdaExamples/BoxFunOptimize.json +154 -154
  170. package/examples/rason-features/BoxLambdaExamples/BoxFunSimulate.json +118 -118
  171. package/examples/rason-features/BoxLambdaExamples/LambdaFunOptimize.json +142 -142
  172. package/examples/rason-features/BoxLambdaExamples/LambdaFunSimulate.json +81 -81
  173. package/examples/rason-features/ReferenceGuide/RGFirehouseLocation.json +69 -69
  174. package/examples/rason-features/ReferenceGuide/RGFirehouseLocationConic.json +113 -113
  175. package/examples/rason-features/ReferenceGuide/RGProductMixCsv1.json +107 -107
  176. package/examples/rason-features/ReferenceGuide/RGProductMixExcel11.json +117 -117
  177. package/examples/rason-features/ReferenceGuide/RGProductMixSQL11.json +108 -108
  178. package/examples/rason-features/UserGuide/UGAirlineHubCSV.json +67 -67
  179. package/examples/rason-features/UserGuide/UGForecast.json +50 -50
  180. package/examples/rason-features/UserGuide/UGProductMix1.json +48 -48
  181. package/examples/rason-features/UserGuide/UGProductMix2.json +48 -48
  182. package/examples/rason-features/UserGuide/UGProductMixTab1.json +67 -67
  183. package/examples/rason-features/UserGuide/UGProductMixTab2.json +76 -76
  184. package/examples/rason-features/UserGuide/UGProductMixTab3.json +66 -66
  185. package/examples/rason-features/UserGuide/UGProductMixTab4.json +70 -70
  186. package/examples/rason-features/UserGuide/UGProductMixTab5.json +67 -67
  187. package/examples/rason-features/UserGuide/UGProjectSelect0.json +91 -91
  188. package/examples/rason-features/UserGuide/UGProjectSelect1.json +74 -74
  189. package/examples/rason-features/UserGuide/UGProjectSelect2.json +74 -74
  190. package/examples/rason-features/UserGuide/UGYieldManagement1.json +61 -61
  191. package/examples/rason-features/UserGuide/UGYieldManagement2.json +61 -61
  192. package/examples/rason-features/UserGuide/UGYieldManagement3.json +63 -63
  193. package/out/index.cjs +1 -1
  194. package/package.json +3 -2
@@ -1,155 +1,155 @@
1
- {
2
- "comment": "This model has been generated by Psi from an Excel model in the workbook Book7",
3
- "modelName": "BoxFunOptimize",
4
- "modelDescription": "This Box Function calculates the distance function based on 4 inputs x1, x2 and y1, y2. A Box function is a custom, reusable function. This example solves an optimization model using the funDistance box function to calculate the distance between a proposed airline hub and six regional airports.",
5
- "modelType": "optimization",
6
- "engineSettings": {
7
- "comment": "The GRG Nonlinear engine is selected to solve the model.",
8
- "engine": "GRG Nonlinear",
9
- "scaling": -1
10
- },
11
- "boxFunctions": {
12
- "funDistance": {
13
- "comment": "The 'funDistance' box function calculates the distance between two points.",
14
- "inputs": [ "Xone", "Xtwo", "Yone", "Ytwo" ],
15
- "inputTypes": [ "number", "number", "number", "number" ],
16
- "language": "EXCEL",
17
- "resultType": "number",
18
- "body": {
19
- "formula1": {
20
- "formula": "(Xtwo-Xone)^2"
21
- },
22
- "formula2": {
23
- "formula": "(Ytwo-Yone)^2"
24
- }
25
- },
26
- "result": "SQRT(Formula1+Formula2)"
27
- }
28
- },
29
- "variables": {
30
- "comment": "There are 3 decision variables in the model. E13 and F13 are the x and y coordinates of the proposed airline hub. G20 is an artificial variable. The objective function minimizes the G20 variable which has a squashing effect on the distance calculations. In the final solution, G20 will equal the maximum value of the six distance calculations.",
31
- "e13:f13": {
32
- "comment": "Two variables, x and y, the coordinates of the proprosed hub.",
33
- "value": 1,
34
- "finalValue": []
35
- },
36
- "g20": {
37
- "comment": "Artifical variable that will be mimimized in the objective.",
38
- "value": 1,
39
- "finalValue": []
40
- }
41
- },
42
- "data": {
43
- "comment": "x and y coordinates for each regional airport; E14 and F14 1st regional airport coordinates, E15 and F15 2nd regional airport coordinates, etc.",
44
- "e14": {
45
- "comment": "x coordinate for 1st regional airport",
46
- "value": 6
47
- },
48
- "f14": {
49
- "comment": "y coordinate for 1st regional airport",
50
- "value": 2
51
- },
52
- "e15": {
53
- "comment": "x coordinate for 2nd regional airport",
54
- "value": 5
55
- },
56
- "f15": {
57
- "comment": "y coordinate for 2nd regional airport",
58
- "value": 5
59
- },
60
- "e16": {
61
- "comment": "x coordinate for 3rd regional airport",
62
- "value": 4
63
- },
64
- "f16": {
65
- "comment": "y coordinate for 3rd regional airport",
66
- "value": 8
67
- },
68
- "e17": {
69
- "comment": "x coordinate for 4th regional airport",
70
- "value": 3
71
- },
72
- "f17": {
73
- "comment": "y coordinate for 4th regional airport",
74
- "value": 4
75
- },
76
- "e18": {
77
- "comment": "x coordinate for 5th regional airport",
78
- "value": 3
79
- },
80
- "f18": {
81
- "comment": "y coordinate for 5th regional airport",
82
- "value": 3
83
- },
84
- "e19": {
85
- "comment": "x coordinate for 6th regional airport",
86
- "value": 1
87
- },
88
- "f19": {
89
- "comment": "y coordinate for 6th regional airport",
90
- "value": 2
91
- }
92
- },
93
- "formulas": {
94
- "comment": "Calls the box function, funDistance, to calculate the distance between the proposed hub and of the 6 regional airports.",
95
- "g14": {
96
- "comment": "Calculates distance between proposed hub location and the 1st regional airport.",
97
- "formula": "funDistance($E$13,E14,$F$13,F14)"
98
- },
99
- "g15": {
100
- "comment": "Calculates distance between proposed hub location and the 2nd regional airport.",
101
- "formula": "funDistance($E$13,E15,$F$13,F15)"
102
- },
103
- "g16": {
104
- "comment": "Calculates distance between proposed hub location and the 3rd regional airport.",
105
- "formula": "funDistance($E$13,E16,$F$13,F16)"
106
- },
107
- "g17": {
108
- "comment": "Calculates distance between proposed hub location and the 4th regional airport.",
109
- "formula": "funDistance($E$13,E17,$F$13,F17)"
110
- },
111
- "g18": {
112
- "comment": "Calculates distance between proposed hub location and the 5th regional airport.",
113
- "formula": "funDistance($E$13,E18,$F$13,F18)"
114
- },
115
- "g19": {
116
- "comment": "Calculates distance between proposed hub location and the 6th regional airport.",
117
- "formula": "funDistance($E$13,E19,$F$13,F19)"
118
- }
119
- },
120
- "constraints": {
121
- "comment": "Six constraints of the form, SQRT((y2-y1)+(x2-x1)) - G20 <= 0.",
122
- "g14_": {
123
- "formula": "g14 - g20",
124
- "upper": 0
125
- },
126
- "g15_": {
127
- "formula": "g15 - g20",
128
- "upper": 0
129
- },
130
- "g16_": {
131
- "formula": "g16 - g20",
132
- "upper": 0
133
- },
134
- "g17_": {
135
- "formula": "g17 - g20",
136
- "upper": 0
137
- },
138
- "g18_": {
139
- "formula": "g18 - g20",
140
- "upper": 0
141
- },
142
- "g19_": {
143
- "formula": "g19 - g20",
144
- "upper": 0
145
- }
146
- },
147
- "objective": {
148
- "comment": "Minimizing the artificial variable, G20. In the final solution, the value of the G20 variable will equal the maximim value of the six distance calculations, in this example, the box function values.",
149
- "objective": {
150
- "formula": "g20",
151
- "type": "min",
152
- "finalValue": []
153
- }
154
- }
1
+ {
2
+ "comment": "This model has been generated by Psi from an Excel model in the workbook Book7",
3
+ "modelName": "BoxFunOptimize",
4
+ "modelDescription": "This Box Function calculates the distance function based on 4 inputs x1, x2 and y1, y2. A Box function is a custom, reusable function. This example solves an optimization model using the funDistance box function to calculate the distance between a proposed airline hub and six regional airports.",
5
+ "modelType": "optimization",
6
+ "engineSettings": {
7
+ "comment": "The GRG Nonlinear engine is selected to solve the model.",
8
+ "engine": "GRG Nonlinear",
9
+ "scaling": -1
10
+ },
11
+ "boxFunctions": {
12
+ "funDistance": {
13
+ "comment": "The 'funDistance' box function calculates the distance between two points.",
14
+ "inputs": [ "Xone", "Xtwo", "Yone", "Ytwo" ],
15
+ "inputTypes": [ "number", "number", "number", "number" ],
16
+ "language": "EXCEL",
17
+ "resultType": "number",
18
+ "body": {
19
+ "formula1": {
20
+ "formula": "(Xtwo-Xone)^2"
21
+ },
22
+ "formula2": {
23
+ "formula": "(Ytwo-Yone)^2"
24
+ }
25
+ },
26
+ "result": "SQRT(Formula1+Formula2)"
27
+ }
28
+ },
29
+ "variables": {
30
+ "comment": "There are 3 decision variables in the model. E13 and F13 are the x and y coordinates of the proposed airline hub. G20 is an artificial variable. The objective function minimizes the G20 variable which has a squashing effect on the distance calculations. In the final solution, G20 will equal the maximum value of the six distance calculations.",
31
+ "e13:f13": {
32
+ "comment": "Two variables, x and y, the coordinates of the proprosed hub.",
33
+ "value": 1,
34
+ "finalValue": []
35
+ },
36
+ "g20": {
37
+ "comment": "Artifical variable that will be mimimized in the objective.",
38
+ "value": 1,
39
+ "finalValue": []
40
+ }
41
+ },
42
+ "data": {
43
+ "comment": "x and y coordinates for each regional airport; E14 and F14 1st regional airport coordinates, E15 and F15 2nd regional airport coordinates, etc.",
44
+ "e14": {
45
+ "comment": "x coordinate for 1st regional airport",
46
+ "value": 6
47
+ },
48
+ "f14": {
49
+ "comment": "y coordinate for 1st regional airport",
50
+ "value": 2
51
+ },
52
+ "e15": {
53
+ "comment": "x coordinate for 2nd regional airport",
54
+ "value": 5
55
+ },
56
+ "f15": {
57
+ "comment": "y coordinate for 2nd regional airport",
58
+ "value": 5
59
+ },
60
+ "e16": {
61
+ "comment": "x coordinate for 3rd regional airport",
62
+ "value": 4
63
+ },
64
+ "f16": {
65
+ "comment": "y coordinate for 3rd regional airport",
66
+ "value": 8
67
+ },
68
+ "e17": {
69
+ "comment": "x coordinate for 4th regional airport",
70
+ "value": 3
71
+ },
72
+ "f17": {
73
+ "comment": "y coordinate for 4th regional airport",
74
+ "value": 4
75
+ },
76
+ "e18": {
77
+ "comment": "x coordinate for 5th regional airport",
78
+ "value": 3
79
+ },
80
+ "f18": {
81
+ "comment": "y coordinate for 5th regional airport",
82
+ "value": 3
83
+ },
84
+ "e19": {
85
+ "comment": "x coordinate for 6th regional airport",
86
+ "value": 1
87
+ },
88
+ "f19": {
89
+ "comment": "y coordinate for 6th regional airport",
90
+ "value": 2
91
+ }
92
+ },
93
+ "formulas": {
94
+ "comment": "Calls the box function, funDistance, to calculate the distance between the proposed hub and of the 6 regional airports.",
95
+ "g14": {
96
+ "comment": "Calculates distance between proposed hub location and the 1st regional airport.",
97
+ "formula": "funDistance($E$13,E14,$F$13,F14)"
98
+ },
99
+ "g15": {
100
+ "comment": "Calculates distance between proposed hub location and the 2nd regional airport.",
101
+ "formula": "funDistance($E$13,E15,$F$13,F15)"
102
+ },
103
+ "g16": {
104
+ "comment": "Calculates distance between proposed hub location and the 3rd regional airport.",
105
+ "formula": "funDistance($E$13,E16,$F$13,F16)"
106
+ },
107
+ "g17": {
108
+ "comment": "Calculates distance between proposed hub location and the 4th regional airport.",
109
+ "formula": "funDistance($E$13,E17,$F$13,F17)"
110
+ },
111
+ "g18": {
112
+ "comment": "Calculates distance between proposed hub location and the 5th regional airport.",
113
+ "formula": "funDistance($E$13,E18,$F$13,F18)"
114
+ },
115
+ "g19": {
116
+ "comment": "Calculates distance between proposed hub location and the 6th regional airport.",
117
+ "formula": "funDistance($E$13,E19,$F$13,F19)"
118
+ }
119
+ },
120
+ "constraints": {
121
+ "comment": "Six constraints of the form, SQRT((y2-y1)+(x2-x1)) - G20 <= 0.",
122
+ "g14_": {
123
+ "formula": "g14 - g20",
124
+ "upper": 0
125
+ },
126
+ "g15_": {
127
+ "formula": "g15 - g20",
128
+ "upper": 0
129
+ },
130
+ "g16_": {
131
+ "formula": "g16 - g20",
132
+ "upper": 0
133
+ },
134
+ "g17_": {
135
+ "formula": "g17 - g20",
136
+ "upper": 0
137
+ },
138
+ "g18_": {
139
+ "formula": "g18 - g20",
140
+ "upper": 0
141
+ },
142
+ "g19_": {
143
+ "formula": "g19 - g20",
144
+ "upper": 0
145
+ }
146
+ },
147
+ "objective": {
148
+ "comment": "Minimizing the artificial variable, G20. In the final solution, the value of the G20 variable will equal the maximim value of the six distance calculations, in this example, the box function values.",
149
+ "objective": {
150
+ "formula": "g20",
151
+ "type": "min",
152
+ "finalValue": []
153
+ }
154
+ }
155
155
  }
@@ -1,119 +1,119 @@
1
- {
2
- "modelName": "BoxFunctionSimulation",
3
- "modelType": "simulation",
4
- "modelDescription": "Simulation model containing a box function that calculates the predicted daily price of a stock. In the original example, GBM Simulation Example, the daily predicted stock price is calculated using a typical formula entered into the 'formulas' section. In this example, the predicted daily stock price is calculated using a custom, reusable Box Function. Box Functions are an easy, reliable method to replicate formulas in a RASON model. For more information on Box Functions, see Defining Custom Functions on the Help tab. ",
5
- "boxFunctions": {
6
- "comment": "Use a box function to create a custom, reusable function which can be called to calculate intermediary formulas, constraints or the objective. Box functions are a reliable way to calculate a formula that is called many times in a model. There is one box function in this model, funDailyPrice.",
7
- "funDailyPrice": {
8
- "comment": "The name of the box function is 'funDailyPrice'. The 'inputs' property (required) lists the input parameter to the function. The 'inputTypes' property (optional) gives the type of each input. In this example, both input parameters must be numbers. The property 'language' (required) can only be 'Excel' or 'FEEL'. This property determines what syntax is used in the box function. The property 'resultType' specifies the type of the result. In this case, the function will return a number. The body of the function is where the intermediary formula calculations are performed. The names, 'formula1', 'formula2' and 'formula3' are the users choice. The property 'result' (required) calculates the result of the function. The result can accept formulas calculated within the 'body' of the function.",
9
- "inputs": [ "PrevClose", "NormDist" ],
10
- "inputTypes": [ "number", "number" ],
11
- "language": "EXCEL",
12
- "resultType": "number",
13
- "body": {
14
- "formula1": {
15
- "formula": "Volatility*SQRT(1/NumDays)*NormDist"
16
- },
17
- "formula2": {
18
- "formula": "EXP((AppRate-Volatility^2*0.5)*(1/NumDays))"
19
- },
20
- "formula3": {
21
- "formula": "PrevClose"
22
- }
23
- },
24
- "result": "PrevClose*(Formula2 + formula1)"
25
- }
26
- },
27
- "uncertainVariables": {
28
- "comment": "These are the uncertain variables in the model. There are 5 total uncertain functions.",
29
- "NormDist1": {
30
- "formula": "PsiNormal(0,1)"
31
- },
32
- "NormDist2": {
33
- "formula": "PsiNormal(0,1)"
34
- },
35
- "NormDist3": {
36
- "formula": "PsiNormal(0,1)"
37
- },
38
- "NormDist4": {
39
- "formula": "PsiNormal(0,1)"
40
- },
41
- "NormDist5": {
42
- "formula": "PsiNormal(0,1)"
43
- }
44
- },
45
- "data": {
46
- "comment": "Use the 'data' section to organize constant parameters in the model: volatility parameter, number of days (NumDays), appreciation rate (AppRate) and the first closing price(FirstClose).",
47
- "Volatility": {
48
- "value": 0.09486,
49
- "binding": "get",
50
- "comment": "vol"
51
- },
52
- "NumDays": {
53
- "value": 100,
54
- "binding": "get",
55
- "comment": "numdays"
56
- },
57
- "AppRate": {
58
- "value": 0.0234992098,
59
- "binding": "get",
60
- "comment": "apprate"
61
- },
62
- "FirstClose": {
63
- "value": 20.33,
64
- "binding": "get",
65
- "comment": "firstclose"
66
- }
67
- },
68
- "formulas": {
69
- "comment": "Use the 'formulas' section to calculate intermediary formulas. The results of which can be used to calculate constraints and the objective. Each of the DailyPrice formula calls the funDailyPrice box function to calculate the predicted daily stock price. ",
70
- "DailyPrice1": {
71
- "formula": "funDailyPrice(FirstClose,NormDist1)"
72
- },
73
- "DailyPrice2": {
74
- "formula": "funDailyPrice(DailyPrice1,NormDist2)"
75
- },
76
- "DailyPrice3": {
77
- "formula": "funDailyPrice(DailyPrice2,NormDist3)"
78
- },
79
- "DailyPrice4": {
80
- "formula": "funDailyPrice(DailyPrice3,NormDist4)"
81
- },
82
- "DailyPrice5": {
83
- "formula": "funDailyPrice(DailyPrice4,NormDist5)"
84
- }
85
- },
86
- "uncertainFunctions": {
87
- "comment": "All uncertain functions must be entered into the 'uncertainFunctions' section. ",
88
- "ExpDailyPrice1": {
89
- "comment": "This uncertain function calls the funDailyPrice box function to calculate the 1st day's predicted daily stock price. All 1000 trial values and the mean of the function will be returned in the result.",
90
- "formula": "funDailyPrice(FirstClose,NormDist1)",
91
- "trials": [],
92
- "mean": []
93
- },
94
- "ExpDailyPrice2": {
95
- "comment": "This uncertain function calls the funDailyPrice box function to calculate the 2nd day's predicted daily stock price. All 1000 trial values and the mean of the function will be returned in the result.",
96
- "formula": "DailyPrice2",
97
- "trials": [],
98
- "mean": []
99
- },
100
- "ExpDailyPrice3": {
101
- "comment": "This uncertain function calls the funDailyPrice box function to calculate the 3rd day's predicted daily stock price. All 1000 trial values and the mean of the function will be returned in the result.",
102
- "formula": "DailyPrice3",
103
- "trials": [],
104
- "mean": []
105
- },
106
- "ExpDailyPrice4": {
107
- "comment": "This uncertain function calls the funDailyPrice box function to calculate the 4th day's predicted daily stock price. All 1000 trial values and the mean of the function will be returned in the result.",
108
- "formula": "DailyPrice4",
109
- "trials": [],
110
- "mean": []
111
- },
112
- "ExpDailyPrice5": {
113
- "comment": "This uncertain function calls the funDailyPrice box function to calculate the 5th day's predicted daily stock price. All 1000 trial values and the mean of the function will be returned in the result.",
114
- "formula": "DailyPrice5",
115
- "trials": [],
116
- "mean": []
117
- }
118
- }
1
+ {
2
+ "modelName": "BoxFunctionSimulation",
3
+ "modelType": "simulation",
4
+ "modelDescription": "Simulation model containing a box function that calculates the predicted daily price of a stock. In the original example, GBM Simulation Example, the daily predicted stock price is calculated using a typical formula entered into the 'formulas' section. In this example, the predicted daily stock price is calculated using a custom, reusable Box Function. Box Functions are an easy, reliable method to replicate formulas in a RASON model. For more information on Box Functions, see Defining Custom Functions on the Help tab. ",
5
+ "boxFunctions": {
6
+ "comment": "Use a box function to create a custom, reusable function which can be called to calculate intermediary formulas, constraints or the objective. Box functions are a reliable way to calculate a formula that is called many times in a model. There is one box function in this model, funDailyPrice.",
7
+ "funDailyPrice": {
8
+ "comment": "The name of the box function is 'funDailyPrice'. The 'inputs' property (required) lists the input parameter to the function. The 'inputTypes' property (optional) gives the type of each input. In this example, both input parameters must be numbers. The property 'language' (required) can only be 'Excel' or 'FEEL'. This property determines what syntax is used in the box function. The property 'resultType' specifies the type of the result. In this case, the function will return a number. The body of the function is where the intermediary formula calculations are performed. The names, 'formula1', 'formula2' and 'formula3' are the users choice. The property 'result' (required) calculates the result of the function. The result can accept formulas calculated within the 'body' of the function.",
9
+ "inputs": [ "PrevClose", "NormDist" ],
10
+ "inputTypes": [ "number", "number" ],
11
+ "language": "EXCEL",
12
+ "resultType": "number",
13
+ "body": {
14
+ "formula1": {
15
+ "formula": "Volatility*SQRT(1/NumDays)*NormDist"
16
+ },
17
+ "formula2": {
18
+ "formula": "EXP((AppRate-Volatility^2*0.5)*(1/NumDays))"
19
+ },
20
+ "formula3": {
21
+ "formula": "PrevClose"
22
+ }
23
+ },
24
+ "result": "PrevClose*(Formula2 + formula1)"
25
+ }
26
+ },
27
+ "uncertainVariables": {
28
+ "comment": "These are the uncertain variables in the model. There are 5 total uncertain functions.",
29
+ "NormDist1": {
30
+ "formula": "PsiNormal(0,1)"
31
+ },
32
+ "NormDist2": {
33
+ "formula": "PsiNormal(0,1)"
34
+ },
35
+ "NormDist3": {
36
+ "formula": "PsiNormal(0,1)"
37
+ },
38
+ "NormDist4": {
39
+ "formula": "PsiNormal(0,1)"
40
+ },
41
+ "NormDist5": {
42
+ "formula": "PsiNormal(0,1)"
43
+ }
44
+ },
45
+ "data": {
46
+ "comment": "Use the 'data' section to organize constant parameters in the model: volatility parameter, number of days (NumDays), appreciation rate (AppRate) and the first closing price(FirstClose).",
47
+ "Volatility": {
48
+ "value": 0.09486,
49
+ "binding": "get",
50
+ "comment": "vol"
51
+ },
52
+ "NumDays": {
53
+ "value": 100,
54
+ "binding": "get",
55
+ "comment": "numdays"
56
+ },
57
+ "AppRate": {
58
+ "value": 0.0234992098,
59
+ "binding": "get",
60
+ "comment": "apprate"
61
+ },
62
+ "FirstClose": {
63
+ "value": 20.33,
64
+ "binding": "get",
65
+ "comment": "firstclose"
66
+ }
67
+ },
68
+ "formulas": {
69
+ "comment": "Use the 'formulas' section to calculate intermediary formulas. The results of which can be used to calculate constraints and the objective. Each of the DailyPrice formula calls the funDailyPrice box function to calculate the predicted daily stock price. ",
70
+ "DailyPrice1": {
71
+ "formula": "funDailyPrice(FirstClose,NormDist1)"
72
+ },
73
+ "DailyPrice2": {
74
+ "formula": "funDailyPrice(DailyPrice1,NormDist2)"
75
+ },
76
+ "DailyPrice3": {
77
+ "formula": "funDailyPrice(DailyPrice2,NormDist3)"
78
+ },
79
+ "DailyPrice4": {
80
+ "formula": "funDailyPrice(DailyPrice3,NormDist4)"
81
+ },
82
+ "DailyPrice5": {
83
+ "formula": "funDailyPrice(DailyPrice4,NormDist5)"
84
+ }
85
+ },
86
+ "uncertainFunctions": {
87
+ "comment": "All uncertain functions must be entered into the 'uncertainFunctions' section. ",
88
+ "ExpDailyPrice1": {
89
+ "comment": "This uncertain function calls the funDailyPrice box function to calculate the 1st day's predicted daily stock price. All 1000 trial values and the mean of the function will be returned in the result.",
90
+ "formula": "funDailyPrice(FirstClose,NormDist1)",
91
+ "trials": [],
92
+ "mean": []
93
+ },
94
+ "ExpDailyPrice2": {
95
+ "comment": "This uncertain function calls the funDailyPrice box function to calculate the 2nd day's predicted daily stock price. All 1000 trial values and the mean of the function will be returned in the result.",
96
+ "formula": "DailyPrice2",
97
+ "trials": [],
98
+ "mean": []
99
+ },
100
+ "ExpDailyPrice3": {
101
+ "comment": "This uncertain function calls the funDailyPrice box function to calculate the 3rd day's predicted daily stock price. All 1000 trial values and the mean of the function will be returned in the result.",
102
+ "formula": "DailyPrice3",
103
+ "trials": [],
104
+ "mean": []
105
+ },
106
+ "ExpDailyPrice4": {
107
+ "comment": "This uncertain function calls the funDailyPrice box function to calculate the 4th day's predicted daily stock price. All 1000 trial values and the mean of the function will be returned in the result.",
108
+ "formula": "DailyPrice4",
109
+ "trials": [],
110
+ "mean": []
111
+ },
112
+ "ExpDailyPrice5": {
113
+ "comment": "This uncertain function calls the funDailyPrice box function to calculate the 5th day's predicted daily stock price. All 1000 trial values and the mean of the function will be returned in the result.",
114
+ "formula": "DailyPrice5",
115
+ "trials": [],
116
+ "mean": []
117
+ }
118
+ }
119
119
  }