@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,402 +1,402 @@
1
- {
2
- "modelName": "CollegeFundGrowthSIP",
3
- "modelDescription": "RASON example that uses Shared Information Probability resources (SIPs, also known as 'Stochastic Information Packets'), you can ensure that your group or organization uses consistent data about uncertain/risky variables across simulation or decision models, enabling model results to be meaningfully compared. In this example, the fitted distribution, from the College Fund Growth 1 Example model in Excel, has been deployed to the Probability Model for CollegeFundGrowthSIP, under RASON Examples -- Simulation. Recall that the College Fund Growth example simulates the life of a college 529 account from a child's birth to the child's graduation from college. This RASON example, calls the fitted distribution in the Probability Model to be used as the uncertain variables. This uncertain variable models the Portfolio Return for each year that the 529 is in existence.",
4
- "modelType": "simulation",
5
- "engineSettings": {
6
- "comment": "Use this section to control engine option settings. Typically, the default engine settings will result in an optimal solution.",
7
- "randomGenerator": "Lecuyer",
8
- "samplingMethod": "Latin"
9
- },
10
- "uncertainVariables": {
11
- "comment": "The uncertain variables in this model are drawn from the external probability model, Probability Model for CollegeFundGrowthSip. This probability model was deployed from the Excel example, CollegeFundGrowth1. Using a Probability Model ensures that your group or organization uses consistent data about uncertain/risky variables across simulation models.",
12
- "o17": {
13
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
14
- },
15
- "e18": {
16
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
17
- },
18
- "e19": {
19
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
20
- },
21
- "e20": {
22
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
23
- },
24
- "e21": {
25
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
26
- },
27
- "e22": {
28
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
29
- },
30
- "e23": {
31
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
32
- },
33
- "e24": {
34
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
35
- },
36
- "e25": {
37
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
38
- },
39
- "e26": {
40
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
41
- },
42
- "e27": {
43
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
44
- },
45
- "e28": {
46
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
47
- },
48
- "e29": {
49
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
50
- },
51
- "e30": {
52
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
53
- },
54
- "e31": {
55
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
56
- },
57
- "e32": {
58
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
59
- },
60
- "e33": {
61
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
62
- },
63
- "e34": {
64
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
65
- },
66
- "e35": {
67
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
68
- },
69
- "e36": {
70
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
71
- },
72
- "e37": {
73
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
74
- },
75
- "e38": {
76
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
77
- },
78
- "e39": {
79
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
80
- },
81
- "e40": {
82
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
83
- },
84
- "e41": {
85
- "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
86
- }
87
- },
88
- "data": {
89
- "comment": "Constant parameter values are introduced in the data section of a RASON model.",
90
- "c18": {
91
- "comment": "This is the beginning balance of the 529 account.",
92
- "value": 0
93
- },
94
- "n15": {
95
- "comment": "If there is not enough funds to cover college, the parents will have to borrow money at this interest rate to pay for college.",
96
- "value": 0.08
97
- },
98
- "d18": {
99
- "comment": "D18:D34 represents the deposit for each year, D18 in year 1, D19 in year 2, etc. No deposits will occur in years 18-24.",
100
- "value": 10000
101
- },
102
-
103
- "d19": {
104
- "value": 10000
105
- },
106
- "d20": {
107
- "value": 10000
108
- },
109
- "d21": {
110
- "value": 10000
111
- },
112
- "d22": {
113
- "value": 10000
114
- },
115
- "d23": {
116
- "value": 10000
117
- },
118
- "d24": {
119
- "value": 10000
120
- },
121
- "d25": {
122
- "value": 10000
123
- },
124
- "d26": {
125
- "value": 10000
126
- },
127
- "d27": {
128
- "value": 10000
129
- },
130
- "d28": {
131
- "value": 10000
132
- },
133
- "d29": {
134
- "value": 10000
135
- },
136
- "d30": {
137
- "value": 10000
138
- },
139
- "d31": {
140
- "value": 10000
141
- },
142
- "d32": {
143
- "value": 10000
144
- },
145
- "d33": {
146
- "value": 10000
147
- },
148
- "d34": {
149
- "value": 10000
150
- },
151
- "d35": {
152
- "comment": "Withdraws start in year 18 as this is when the first child, Joe, enters college.",
153
- "value": -75000
154
- },
155
- "d36": {
156
- "comment": "Withdrawal for Child 1 in year 2.",
157
- "value": -75000
158
- },
159
- "d37": {
160
- "comment": "Withdrawal for Child 1 in year 3.",
161
- "value": -75000
162
- },
163
- "d38": {
164
- "comment": "Withdrawal for Child 1 year 4 and Child 2 in year 1.",
165
- "value": -150000
166
- },
167
- "d39": {
168
- "comment": "Withdrawal for Child 2 in year 2.",
169
- "value": -75000
170
- },
171
- "d40": {
172
- "comment": "Withdrawal for Child 2 in year 3.",
173
- "value": -75000
174
- },
175
- "d41": {
176
- "comment": "Withdrawal for Child 2 in year 4.",
177
- "value": -75000
178
- }
179
- },
180
- "formulas": {
181
- "comment": "The fx formulas calculate the gain or loss of the portfolio in each year.",
182
- "f18": {
183
- "formula": "IF((C18+D18)<0,(C18+D18)*$N$15,(C18+D18)*E18)"
184
- },
185
- "g18": {
186
- "comment": "The gx formulas calculate the ending balance of the portfolio in each year.",
187
- "formula": "C18+D18+F18"
188
- },
189
- "c19": {
190
- "comment": "The cx formulas calculate the beg balance of the portfolio in each year.",
191
- "formula": "G18"
192
- },
193
- "f19": {
194
- "formula": "IF((C19+D19)<0,(C19+D19)*$N$15,(C19+D19)*E19)"
195
- },
196
- "g19": {
197
- "formula": "C19+D19+F19"
198
- },
199
- "c20": {
200
- "formula": "G19"
201
- },
202
- "f20": {
203
- "formula": "IF((C20+D20)<0,(C20+D20)*$N$15,(C20+D20)*E20)"
204
- },
205
- "g20": {
206
- "formula": "C20+D20+F20"
207
- },
208
- "c21": {
209
- "formula": "G20"
210
- },
211
- "f21": {
212
- "formula": "IF((C21+D21)<0,(C21+D21)*$N$15,(C21+D21)*E21)"
213
- },
214
- "g21": {
215
- "formula": "C21+D21+F21"
216
- },
217
- "c22": {
218
- "formula": "G21"
219
- },
220
- "f22": {
221
- "formula": "IF((C22+D22)<0,(C22+D22)*$N$15,(C22+D22)*E22)"
222
- },
223
- "g22": {
224
- "formula": "C22+D22+F22"
225
- },
226
- "c23": {
227
- "formula": "G22"
228
- },
229
- "f23": {
230
- "formula": "IF((C23+D23)<0,(C23+D23)*$N$15,(C23+D23)*E23)"
231
- },
232
- "g23": {
233
- "formula": "C23+D23+F23"
234
- },
235
- "c24": {
236
- "formula": "G23"
237
- },
238
- "f24": {
239
- "formula": "IF((C24+D24)<0,(C24+D24)*$N$15,(C24+D24)*E24)"
240
- },
241
- "g24": {
242
- "formula": "C24+D24+F24"
243
- },
244
- "c25": {
245
- "formula": "G24"
246
- },
247
- "f25": {
248
- "formula": "IF((C25+D25)<0,(C25+D25)*$N$15,(C25+D25)*E25)"
249
- },
250
- "g25": {
251
- "formula": "C25+D25+F25"
252
- },
253
- "c26": {
254
- "formula": "G25"
255
- },
256
- "f26": {
257
- "formula": "IF((C26+D26)<0,(C26+D26)*$N$15,(C26+D26)*E26)"
258
- },
259
- "g26": {
260
- "formula": "C26+D26+F26"
261
- },
262
- "c27": {
263
- "formula": "G26"
264
- },
265
- "f27": {
266
- "formula": "IF((C27+D27)<0,(C27+D27)*$N$15,(C27+D27)*E27)"
267
- },
268
- "g27": {
269
- "formula": "C27+D27+F27"
270
- },
271
- "c28": {
272
- "formula": "G27"
273
- },
274
- "f28": {
275
- "formula": "IF((C28+D28)<0,(C28+D28)*$N$15,(C28+D28)*E28)"
276
- },
277
- "g28": {
278
- "formula": "C28+D28+F28"
279
- },
280
- "c29": {
281
- "formula": "G28"
282
- },
283
- "f29": {
284
- "formula": "IF((C29+D29)<0,(C29+D29)*$N$15,(C29+D29)*E29)"
285
- },
286
- "g29": {
287
- "formula": "C29+D29+F29"
288
- },
289
- "c30": {
290
- "formula": "G29"
291
- },
292
- "f30": {
293
- "formula": "IF((C30+D30)<0,(C30+D30)*$N$15,(C30+D30)*E30)"
294
- },
295
- "g30": {
296
- "formula": "C30+D30+F30"
297
- },
298
- "c31": {
299
- "formula": "G30"
300
- },
301
- "f31": {
302
- "formula": "IF((C31+D31)<0,(C31+D31)*$N$15,(C31+D31)*E31)"
303
- },
304
- "g31": {
305
- "formula": "C31+D31+F31"
306
- },
307
- "c32": {
308
- "formula": "G31"
309
- },
310
- "f32": {
311
- "formula": "IF((C32+D32)<0,(C32+D32)*$N$15,(C32+D32)*E32)"
312
- },
313
- "g32": {
314
- "formula": "C32+D32+F32"
315
- },
316
- "c33": {
317
- "formula": "G32"
318
- },
319
- "f33": {
320
- "formula": "IF((C33+D33)<0,(C33+D33)*$N$15,(C33+D33)*E33)"
321
- },
322
- "g33": {
323
- "formula": "C33+D33+F33"
324
- },
325
- "c34": {
326
- "formula": "G33"
327
- },
328
- "f34": {
329
- "formula": "IF((C34+D34)<0,(C34+D34)*$N$15,(C34+D34)*E34)"
330
- },
331
- "g34": {
332
- "formula": "C34+D34+F34"
333
- },
334
- "c35": {
335
- "formula": "G34"
336
- },
337
- "f35": {
338
- "formula": "IF((C35+D35)<0,(C35+D35)*$N$15,(C35+D35)*E35)"
339
- },
340
- "g35": {
341
- "formula": "C35+D35+F35"
342
- },
343
- "c36": {
344
- "formula": "G35"
345
- },
346
- "f36": {
347
- "formula": "IF((C36+D36)<0,(C36+D36)*$N$15,(C36+D36)*E36)"
348
- },
349
- "g36": {
350
- "formula": "C36+D36+F36"
351
- },
352
- "c37": {
353
- "formula": "G36"
354
- },
355
- "f37": {
356
- "formula": "IF((C37+D37)<0,(C37+D37)*$N$15,(C37+D37)*E37)"
357
- },
358
- "g37": {
359
- "formula": "C37+D37+F37"
360
- },
361
- "c38": {
362
- "formula": "G37"
363
- },
364
- "f38": {
365
- "formula": "IF((C38+D38)<0,(C38+D38)*$N$15,(C38+D38)*E38)"
366
- },
367
- "g38": {
368
- "formula": "C38+D38+F38"
369
- },
370
- "c39": {
371
- "formula": "G38"
372
- },
373
- "f39": {
374
- "formula": "IF((C39+D39)<0,(C39+D39)*$N$15,(C39+D39)*E39)"
375
- },
376
- "g39": {
377
- "formula": "C39+D39+F39"
378
- },
379
- "c40": {
380
- "formula": "G39"
381
- },
382
- "f40": {
383
- "formula": "IF((C40+D40)<0,(C40+D40)*$N$15,(C40+D40)*E40)"
384
- },
385
- "g40": {
386
- "formula": "C40+D40+F40"
387
- },
388
- "c41": {
389
- "formula": "G40"
390
- },
391
- "f41": {
392
- "formula": "IF((C41+D41)<0,(C41+D41)*$N$15,(C41+D41)*E41)"
393
- }
394
- },
395
- "uncertainFunctions": {
396
- "comment": "There is one uncertain function in the model, the ending balance for the last year of the 529 account. The statistic, mean, will be returned in the result. The mean returns the mean value for the uncertain function.",
397
- "g41": {
398
- "formula": "C41+D41+F41",
399
- "mean": []
400
- }
401
- }
1
+ {
2
+ "modelName": "CollegeFundGrowthSIP",
3
+ "modelDescription": "RASON example that uses Shared Information Probability resources (SIPs, also known as 'Stochastic Information Packets'), you can ensure that your group or organization uses consistent data about uncertain/risky variables across simulation or decision models, enabling model results to be meaningfully compared. In this example, the fitted distribution, from the College Fund Growth 1 Example model in Excel, has been deployed to the Probability Model for CollegeFundGrowthSIP, under RASON Examples -- Simulation. Recall that the College Fund Growth example simulates the life of a college 529 account from a child's birth to the child's graduation from college. This RASON example, calls the fitted distribution in the Probability Model to be used as the uncertain variables. This uncertain variable models the Portfolio Return for each year that the 529 is in existence.",
4
+ "modelType": "simulation",
5
+ "engineSettings": {
6
+ "comment": "Use this section to control engine option settings. Typically, the default engine settings will result in an optimal solution.",
7
+ "randomGenerator": "Lecuyer",
8
+ "samplingMethod": "Latin"
9
+ },
10
+ "uncertainVariables": {
11
+ "comment": "The uncertain variables in this model are drawn from the external probability model, Probability Model for CollegeFundGrowthSip. This probability model was deployed from the Excel example, CollegeFundGrowth1. Using a Probability Model ensures that your group or organization uses consistent data about uncertain/risky variables across simulation models.",
12
+ "o17": {
13
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
14
+ },
15
+ "e18": {
16
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
17
+ },
18
+ "e19": {
19
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
20
+ },
21
+ "e20": {
22
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
23
+ },
24
+ "e21": {
25
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
26
+ },
27
+ "e22": {
28
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
29
+ },
30
+ "e23": {
31
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
32
+ },
33
+ "e24": {
34
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
35
+ },
36
+ "e25": {
37
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
38
+ },
39
+ "e26": {
40
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
41
+ },
42
+ "e27": {
43
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
44
+ },
45
+ "e28": {
46
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
47
+ },
48
+ "e29": {
49
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
50
+ },
51
+ "e30": {
52
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
53
+ },
54
+ "e31": {
55
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
56
+ },
57
+ "e32": {
58
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
59
+ },
60
+ "e33": {
61
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
62
+ },
63
+ "e34": {
64
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
65
+ },
66
+ "e35": {
67
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
68
+ },
69
+ "e36": {
70
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
71
+ },
72
+ "e37": {
73
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
74
+ },
75
+ "e38": {
76
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
77
+ },
78
+ "e39": {
79
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
80
+ },
81
+ "e40": {
82
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
83
+ },
84
+ "e41": {
85
+ "formula": "PsiLibSip('CollegeFundGrowth1.$O$17')"
86
+ }
87
+ },
88
+ "data": {
89
+ "comment": "Constant parameter values are introduced in the data section of a RASON model.",
90
+ "c18": {
91
+ "comment": "This is the beginning balance of the 529 account.",
92
+ "value": 0
93
+ },
94
+ "n15": {
95
+ "comment": "If there is not enough funds to cover college, the parents will have to borrow money at this interest rate to pay for college.",
96
+ "value": 0.08
97
+ },
98
+ "d18": {
99
+ "comment": "D18:D34 represents the deposit for each year, D18 in year 1, D19 in year 2, etc. No deposits will occur in years 18-24.",
100
+ "value": 10000
101
+ },
102
+
103
+ "d19": {
104
+ "value": 10000
105
+ },
106
+ "d20": {
107
+ "value": 10000
108
+ },
109
+ "d21": {
110
+ "value": 10000
111
+ },
112
+ "d22": {
113
+ "value": 10000
114
+ },
115
+ "d23": {
116
+ "value": 10000
117
+ },
118
+ "d24": {
119
+ "value": 10000
120
+ },
121
+ "d25": {
122
+ "value": 10000
123
+ },
124
+ "d26": {
125
+ "value": 10000
126
+ },
127
+ "d27": {
128
+ "value": 10000
129
+ },
130
+ "d28": {
131
+ "value": 10000
132
+ },
133
+ "d29": {
134
+ "value": 10000
135
+ },
136
+ "d30": {
137
+ "value": 10000
138
+ },
139
+ "d31": {
140
+ "value": 10000
141
+ },
142
+ "d32": {
143
+ "value": 10000
144
+ },
145
+ "d33": {
146
+ "value": 10000
147
+ },
148
+ "d34": {
149
+ "value": 10000
150
+ },
151
+ "d35": {
152
+ "comment": "Withdraws start in year 18 as this is when the first child, Joe, enters college.",
153
+ "value": -75000
154
+ },
155
+ "d36": {
156
+ "comment": "Withdrawal for Child 1 in year 2.",
157
+ "value": -75000
158
+ },
159
+ "d37": {
160
+ "comment": "Withdrawal for Child 1 in year 3.",
161
+ "value": -75000
162
+ },
163
+ "d38": {
164
+ "comment": "Withdrawal for Child 1 year 4 and Child 2 in year 1.",
165
+ "value": -150000
166
+ },
167
+ "d39": {
168
+ "comment": "Withdrawal for Child 2 in year 2.",
169
+ "value": -75000
170
+ },
171
+ "d40": {
172
+ "comment": "Withdrawal for Child 2 in year 3.",
173
+ "value": -75000
174
+ },
175
+ "d41": {
176
+ "comment": "Withdrawal for Child 2 in year 4.",
177
+ "value": -75000
178
+ }
179
+ },
180
+ "formulas": {
181
+ "comment": "The fx formulas calculate the gain or loss of the portfolio in each year.",
182
+ "f18": {
183
+ "formula": "IF((C18+D18)<0,(C18+D18)*$N$15,(C18+D18)*E18)"
184
+ },
185
+ "g18": {
186
+ "comment": "The gx formulas calculate the ending balance of the portfolio in each year.",
187
+ "formula": "C18+D18+F18"
188
+ },
189
+ "c19": {
190
+ "comment": "The cx formulas calculate the beg balance of the portfolio in each year.",
191
+ "formula": "G18"
192
+ },
193
+ "f19": {
194
+ "formula": "IF((C19+D19)<0,(C19+D19)*$N$15,(C19+D19)*E19)"
195
+ },
196
+ "g19": {
197
+ "formula": "C19+D19+F19"
198
+ },
199
+ "c20": {
200
+ "formula": "G19"
201
+ },
202
+ "f20": {
203
+ "formula": "IF((C20+D20)<0,(C20+D20)*$N$15,(C20+D20)*E20)"
204
+ },
205
+ "g20": {
206
+ "formula": "C20+D20+F20"
207
+ },
208
+ "c21": {
209
+ "formula": "G20"
210
+ },
211
+ "f21": {
212
+ "formula": "IF((C21+D21)<0,(C21+D21)*$N$15,(C21+D21)*E21)"
213
+ },
214
+ "g21": {
215
+ "formula": "C21+D21+F21"
216
+ },
217
+ "c22": {
218
+ "formula": "G21"
219
+ },
220
+ "f22": {
221
+ "formula": "IF((C22+D22)<0,(C22+D22)*$N$15,(C22+D22)*E22)"
222
+ },
223
+ "g22": {
224
+ "formula": "C22+D22+F22"
225
+ },
226
+ "c23": {
227
+ "formula": "G22"
228
+ },
229
+ "f23": {
230
+ "formula": "IF((C23+D23)<0,(C23+D23)*$N$15,(C23+D23)*E23)"
231
+ },
232
+ "g23": {
233
+ "formula": "C23+D23+F23"
234
+ },
235
+ "c24": {
236
+ "formula": "G23"
237
+ },
238
+ "f24": {
239
+ "formula": "IF((C24+D24)<0,(C24+D24)*$N$15,(C24+D24)*E24)"
240
+ },
241
+ "g24": {
242
+ "formula": "C24+D24+F24"
243
+ },
244
+ "c25": {
245
+ "formula": "G24"
246
+ },
247
+ "f25": {
248
+ "formula": "IF((C25+D25)<0,(C25+D25)*$N$15,(C25+D25)*E25)"
249
+ },
250
+ "g25": {
251
+ "formula": "C25+D25+F25"
252
+ },
253
+ "c26": {
254
+ "formula": "G25"
255
+ },
256
+ "f26": {
257
+ "formula": "IF((C26+D26)<0,(C26+D26)*$N$15,(C26+D26)*E26)"
258
+ },
259
+ "g26": {
260
+ "formula": "C26+D26+F26"
261
+ },
262
+ "c27": {
263
+ "formula": "G26"
264
+ },
265
+ "f27": {
266
+ "formula": "IF((C27+D27)<0,(C27+D27)*$N$15,(C27+D27)*E27)"
267
+ },
268
+ "g27": {
269
+ "formula": "C27+D27+F27"
270
+ },
271
+ "c28": {
272
+ "formula": "G27"
273
+ },
274
+ "f28": {
275
+ "formula": "IF((C28+D28)<0,(C28+D28)*$N$15,(C28+D28)*E28)"
276
+ },
277
+ "g28": {
278
+ "formula": "C28+D28+F28"
279
+ },
280
+ "c29": {
281
+ "formula": "G28"
282
+ },
283
+ "f29": {
284
+ "formula": "IF((C29+D29)<0,(C29+D29)*$N$15,(C29+D29)*E29)"
285
+ },
286
+ "g29": {
287
+ "formula": "C29+D29+F29"
288
+ },
289
+ "c30": {
290
+ "formula": "G29"
291
+ },
292
+ "f30": {
293
+ "formula": "IF((C30+D30)<0,(C30+D30)*$N$15,(C30+D30)*E30)"
294
+ },
295
+ "g30": {
296
+ "formula": "C30+D30+F30"
297
+ },
298
+ "c31": {
299
+ "formula": "G30"
300
+ },
301
+ "f31": {
302
+ "formula": "IF((C31+D31)<0,(C31+D31)*$N$15,(C31+D31)*E31)"
303
+ },
304
+ "g31": {
305
+ "formula": "C31+D31+F31"
306
+ },
307
+ "c32": {
308
+ "formula": "G31"
309
+ },
310
+ "f32": {
311
+ "formula": "IF((C32+D32)<0,(C32+D32)*$N$15,(C32+D32)*E32)"
312
+ },
313
+ "g32": {
314
+ "formula": "C32+D32+F32"
315
+ },
316
+ "c33": {
317
+ "formula": "G32"
318
+ },
319
+ "f33": {
320
+ "formula": "IF((C33+D33)<0,(C33+D33)*$N$15,(C33+D33)*E33)"
321
+ },
322
+ "g33": {
323
+ "formula": "C33+D33+F33"
324
+ },
325
+ "c34": {
326
+ "formula": "G33"
327
+ },
328
+ "f34": {
329
+ "formula": "IF((C34+D34)<0,(C34+D34)*$N$15,(C34+D34)*E34)"
330
+ },
331
+ "g34": {
332
+ "formula": "C34+D34+F34"
333
+ },
334
+ "c35": {
335
+ "formula": "G34"
336
+ },
337
+ "f35": {
338
+ "formula": "IF((C35+D35)<0,(C35+D35)*$N$15,(C35+D35)*E35)"
339
+ },
340
+ "g35": {
341
+ "formula": "C35+D35+F35"
342
+ },
343
+ "c36": {
344
+ "formula": "G35"
345
+ },
346
+ "f36": {
347
+ "formula": "IF((C36+D36)<0,(C36+D36)*$N$15,(C36+D36)*E36)"
348
+ },
349
+ "g36": {
350
+ "formula": "C36+D36+F36"
351
+ },
352
+ "c37": {
353
+ "formula": "G36"
354
+ },
355
+ "f37": {
356
+ "formula": "IF((C37+D37)<0,(C37+D37)*$N$15,(C37+D37)*E37)"
357
+ },
358
+ "g37": {
359
+ "formula": "C37+D37+F37"
360
+ },
361
+ "c38": {
362
+ "formula": "G37"
363
+ },
364
+ "f38": {
365
+ "formula": "IF((C38+D38)<0,(C38+D38)*$N$15,(C38+D38)*E38)"
366
+ },
367
+ "g38": {
368
+ "formula": "C38+D38+F38"
369
+ },
370
+ "c39": {
371
+ "formula": "G38"
372
+ },
373
+ "f39": {
374
+ "formula": "IF((C39+D39)<0,(C39+D39)*$N$15,(C39+D39)*E39)"
375
+ },
376
+ "g39": {
377
+ "formula": "C39+D39+F39"
378
+ },
379
+ "c40": {
380
+ "formula": "G39"
381
+ },
382
+ "f40": {
383
+ "formula": "IF((C40+D40)<0,(C40+D40)*$N$15,(C40+D40)*E40)"
384
+ },
385
+ "g40": {
386
+ "formula": "C40+D40+F40"
387
+ },
388
+ "c41": {
389
+ "formula": "G40"
390
+ },
391
+ "f41": {
392
+ "formula": "IF((C41+D41)<0,(C41+D41)*$N$15,(C41+D41)*E41)"
393
+ }
394
+ },
395
+ "uncertainFunctions": {
396
+ "comment": "There is one uncertain function in the model, the ending balance for the last year of the 529 account. The statistic, mean, will be returned in the result. The mean returns the mean value for the uncertain function.",
397
+ "g41": {
398
+ "formula": "C41+D41+F41",
399
+ "mean": []
400
+ }
401
+ }
402
402
  }