@frontlinesystems/rason-mcp-server 2026.5.1 → 2026.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +35 -35
- package/examples/EXAMPLES_REFERENCE.md +128 -128
- package/examples/{optimization → Optimization}/Conic/AirlineHubConic.json +111 -111
- package/examples/{optimization → Optimization}/Conic/AirlineHubConic2.json +108 -108
- package/examples/{optimization → Optimization}/Conic/AirlineHubConic3.json +111 -111
- package/examples/{optimization → Optimization}/Conic/AirlineHubConic4.json +99 -99
- package/examples/{optimization → Optimization}/Conic/AirlineHubConic5.json +101 -101
- package/examples/{optimization → Optimization}/DataBinding/ProductMixCsv.json +81 -81
- package/examples/{optimization → Optimization}/DataBinding/ProductMixCsv4.json +96 -96
- package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel.json +73 -73
- package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel1.json +86 -86
- package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel11.json +108 -108
- package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel2.json +77 -77
- package/examples/{optimization → Optimization}/DataBinding/ProductMixTab.json +89 -89
- package/examples/{optimization → Optimization}/DataBinding/ProductMixTab1.json +73 -73
- package/examples/{optimization → Optimization}/DataBinding/ProductMixTab2.json +77 -77
- package/examples/{optimization → Optimization}/Linear/Inventory.json +199 -199
- package/examples/{optimization → Optimization}/Linear/Matop.json +119 -119
- package/examples/{optimization → Optimization}/Linear/ProductMix.json +97 -97
- package/examples/{optimization → Optimization}/Linear/ProductMix2.json +72 -72
- package/examples/{optimization → Optimization}/Linear/ProductMix3.json +49 -49
- package/examples/{optimization → Optimization}/Linear/ProductMix4.json +56 -56
- package/examples/{optimization → Optimization}/Linear/ProductMixCsv1.json +106 -106
- package/examples/{optimization → Optimization}/Linear/ProductMixCsv2.json +106 -106
- package/examples/{optimization → Optimization}/Linear/ProductMixSQL11.json +82 -82
- package/examples/{optimization → Optimization}/Linear/Rowop.json +126 -126
- package/examples/{optimization → Optimization}/NonLinear/AirlineHub.json +63 -63
- package/examples/{optimization → Optimization}/NonLinear/AirlineHub2.json +47 -47
- package/examples/{optimization → Optimization}/NonLinear/AirlineHub3.json +47 -47
- package/examples/{optimization → Optimization}/NonSmooth/Inventory2.json +159 -159
- package/examples/{optimization → Optimization}/Quadratic/PortfolioOpt.json +55 -55
- package/examples/{optimization → Optimization}/Quadratic/PortfolioOpt2.json +65 -65
- package/examples/{optimization → Optimization}/WithUncertainty/GasCompanyChance.json +78 -78
- package/examples/{optimization → Optimization}/WithUncertainty/GasCompanyRecourse.json +78 -78
- package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect.json +77 -77
- package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect2.json +81 -81
- package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect3.json +84 -84
- package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect4.json +74 -74
- package/examples/{simulation → Simulation}/CandyStoreSalesUsingSIP.json +147 -147
- package/examples/{simulation → Simulation}/CollegeFundGrowth1.json +423 -423
- package/examples/{simulation → Simulation}/CollegeFundGrowth1SIPModel.json +27 -27
- package/examples/{simulation → Simulation}/CollegeFundGrowth2.json +415 -415
- package/examples/{simulation → Simulation}/CollegeFundGrowthSIP.json +401 -401
- package/examples/{simulation → Simulation}/GBMSimulationModel.json +236 -236
- package/examples/{simulation → Simulation}/YieldManagement(Sim).json +69 -69
- package/examples/{simulation → Simulation}/YieldManagement2(Sim).json +72 -72
- package/examples/calculation/DMNExamples/DMN Box Fun with typeDef result.json +53 -53
- package/examples/calculation/DMNExamples/DMN Context example.json +69 -69
- package/examples/calculation/DMNExamples/DMN DT with typeDef result.json +43 -43
- package/examples/calculation/DMNExamples/FEEL Date Time example.json +28 -28
- package/examples/calculation/DMNExamples/FEEL For iteration example.json +66 -66
- package/examples/calculation/DMNExamples/FEEL For with two indices.json +15 -15
- package/examples/calculation/DMNExamples/FEEL For with typeDef result.json +88 -88
- package/examples/calculation/DMNExamples/FEEL If Then Else example.json +25 -25
- package/examples/calculation/DMNExamples/FEEL List example.json +37 -37
- package/examples/calculation/DMNExamples/FEEL List operator.json +17 -17
- package/examples/calculation/DMNExamples/FEEL List with typeDef collection.json +36 -36
- package/examples/calculation/DMNExamples/FEEL Some or Every example.json +65 -65
- package/examples/calculation/DecisionTables/DT Datasource example.json +52 -52
- package/examples/calculation/DecisionTables/DT Date and Time examples.json +91 -91
- package/examples/calculation/DecisionTables/DT Expression example.json +32 -32
- package/examples/calculation/DecisionTables/DT Hit Policy examples.json +136 -136
- package/examples/calculation/DecisionTables/DT Loan Recommend model.json +81 -81
- package/examples/calculation/DecisionTables/DT Loan Strategy Model and Predictive CSV-XML.json +218 -218
- package/examples/calculation/DecisionTables/DT Loan Strategy model and Datasource.json +286 -286
- package/examples/calculation/DecisionTables/DT Loan Strategy model and Predictive.json +203 -203
- package/examples/calculation/DecisionTables/DT Loan Strategy model by scratch.json +214 -214
- package/examples/calculation/DecisionTables/DT Output Order example.json +39 -39
- package/examples/calculation/DecisionTables/DT Unique example.json +38 -38
- package/examples/calculation/TypeDefinitions/TypeDefCF.json +64 -64
- package/examples/calculation/TypeDefinitions/TypeDefDT.json +57 -57
- package/examples/datamining/AffinityAnalysis/AssociationRules.json +51 -51
- package/examples/datamining/Classification/DecisionTree.json +90 -90
- package/examples/datamining/Classification/DiscriminantAnalysis.json +81 -81
- package/examples/datamining/Classification/Ensembles/Bagging.json +66 -66
- package/examples/datamining/Classification/Ensembles/Boosting.json +67 -67
- package/examples/datamining/Classification/Ensembles/RandomTrees.json +91 -91
- package/examples/datamining/Classification/FindBestModel.json +86 -86
- package/examples/datamining/Classification/LogisticRegression.json +82 -82
- package/examples/datamining/Classification/NaiveBayes.json +78 -78
- package/examples/datamining/Classification/NearestNeighbors.json +84 -84
- package/examples/datamining/Classification/NeuralNetwork.json +92 -92
- package/examples/datamining/Clustering/Hierarchical.json +54 -54
- package/examples/datamining/Clustering/KMeans.json +71 -71
- package/examples/datamining/DataSources/DelimitedFile.json +49 -49
- package/examples/datamining/DataSources/JSONFile.json +49 -49
- package/examples/datamining/DataSources/MSAccessDatabase.json +49 -49
- package/examples/datamining/DataSources/MSExcelTable.json +50 -50
- package/examples/datamining/DataSources/MSSQLDatabase.json +49 -49
- package/examples/datamining/DataSources/ODATATable.json +49 -49
- package/examples/datamining/DataSources/ODBCDatabase.json +49 -49
- package/examples/datamining/FeatureSelection/LinearWrapping.json +53 -53
- package/examples/datamining/FeatureSelection/LogisticWrapping.json +56 -56
- package/examples/datamining/FeatureSelection/Univariate.json +78 -78
- package/examples/datamining/Regression/DecisionTree.json +82 -82
- package/examples/datamining/Regression/Ensembles/Bagging.json +62 -62
- package/examples/datamining/Regression/Ensembles/Boosting.json +62 -62
- package/examples/datamining/Regression/Ensembles/RandomTrees.json +78 -78
- package/examples/datamining/Regression/FindBestModel.json +86 -86
- package/examples/datamining/Regression/LinearRegression.json +124 -124
- package/examples/datamining/Regression/NearestNeighbors.json +77 -77
- package/examples/datamining/Regression/NeuralNetwork.json +82 -82
- package/examples/datamining/Scoring/JSONClassifier.json +62 -62
- package/examples/datamining/Scoring/JSONClassifierNN.json +62 -62
- package/examples/datamining/Scoring/JSONClusterizer.json +37 -37
- package/examples/datamining/Scoring/JSONForecaster.json +49 -49
- package/examples/datamining/Scoring/JSONLinearRegression.json +56 -56
- package/examples/datamining/Scoring/JSONPCA.json +41 -41
- package/examples/datamining/Scoring/JSONRegressor.json +56 -56
- package/examples/datamining/Scoring/JSONTransformer.json +38 -38
- package/examples/datamining/Scoring/PMMLClassifier.json +42 -42
- package/examples/datamining/Scoring/PMMLForecaster.json +43 -43
- package/examples/datamining/Scoring/PMMLRegressor.json +38 -38
- package/examples/datamining/Scoring/PMMLTransformer.json +38 -38
- package/examples/datamining/Simulation/LinearRegressionSimulation.json +117 -117
- package/examples/datamining/Simulation/SyntheticDataGeneration.json +108 -108
- package/examples/datamining/Simulation/pmml-risk-scoring.json +62 -62
- package/examples/datamining/Summarizer/Summarization.json +54 -54
- package/examples/datamining/TextMining/LatentSemanticAnalysis.json +51 -51
- package/examples/datamining/TextMining/TfIdf-FileData.json +65 -65
- package/examples/datamining/TextMining/TfIdf-InlineData.json +55 -55
- package/examples/datamining/TimeSeries/AddHoltWinters.json +79 -79
- package/examples/datamining/TimeSeries/Arima.json +74 -74
- package/examples/datamining/TimeSeries/DoubleExponential.json +65 -65
- package/examples/datamining/TimeSeries/Exponential.json +64 -64
- package/examples/datamining/TimeSeries/LagAnalysis.json +48 -48
- package/examples/datamining/TimeSeries/MovingAverage.json +65 -65
- package/examples/datamining/TimeSeries/MulHoltWinters.json +65 -65
- package/examples/datamining/TimeSeries/NoTrendHoltWinters.json +65 -65
- package/examples/datamining/Transformation/Binning.json +69 -69
- package/examples/datamining/Transformation/CanonicalVariateAnalysis.json +47 -47
- package/examples/datamining/Transformation/CategoryReduction.json +51 -51
- package/examples/datamining/Transformation/Factorization.json +50 -50
- package/examples/datamining/Transformation/MissingDataHandling.json +83 -83
- package/examples/datamining/Transformation/OneHotEncoding-DataInline.json +54 -54
- package/examples/datamining/Transformation/OneHotEncoding-DatainFile.json +48 -48
- package/examples/datamining/Transformation/PartitionTimeSeries.json +48 -48
- package/examples/datamining/Transformation/Partitioning-DF.json +72 -72
- package/examples/datamining/Transformation/Partitioning.json +46 -46
- package/examples/datamining/Transformation/PartitioningWithOversampling-DF.json +65 -65
- package/examples/datamining/Transformation/PartitioningWithOversampling.json +44 -44
- package/examples/datamining/Transformation/PrincipalComponentsAnalysis.json +52 -52
- package/examples/datamining/Transformation/Rescaling.json +67 -67
- package/examples/datamining/Transformation/Sampling.json +43 -43
- package/examples/datamining/Transformation/StratifiedSampling.json +46 -46
- package/examples/flow/SQLServerTransform.json +260 -260
- package/examples/flow/dm-calc-pipeline.json +277 -277
- package/examples/flow/dm-pipeline-simulation.json +113 -113
- package/examples/flow/opt-sim-pipeline.json +159 -159
- package/examples/flow/sim-dm-pipeline.json +106 -106
- package/examples/flow/sim-sim-pipeline.json +136 -136
- package/examples/index.json +4678 -4678
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/DataFiltering/ListwithFilter.json +52 -52
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ProductMix5.json +57 -57
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/compoundWhileStatement.json +35 -35
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ifThenElseStatement.json +33 -33
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/nestedLoop.json +25 -25
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/ParallelArray.json +47 -47
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/indexedArray.json +69 -69
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/nonParallelArray.json +49 -49
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/sumAggregateExample.json +337 -337
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/tsp.json +61 -61
- package/examples/rason-features/BoxIterators/Box_Fun_Loop_Iter_Sim_RASON.json +190 -190
- package/examples/rason-features/BoxIterators/Box_Fun_Loop_Sim_RASON.json +75 -75
- package/examples/rason-features/BoxIterators/Box_Fun_Sim_RASON.json +108 -108
- package/examples/rason-features/BoxIterators/Box_Iter_SIM_RASON.json +68 -68
- package/examples/rason-features/BoxIterators/Box_Iterator_Calc_Loop.json +183 -183
- package/examples/rason-features/BoxIterators/Box_Iterator_with_typeDef_partial.json +79 -79
- package/examples/rason-features/BoxLambdaExamples/BoxFunOptimize.json +154 -154
- package/examples/rason-features/BoxLambdaExamples/BoxFunSimulate.json +118 -118
- package/examples/rason-features/BoxLambdaExamples/LambdaFunOptimize.json +142 -142
- package/examples/rason-features/BoxLambdaExamples/LambdaFunSimulate.json +81 -81
- package/examples/rason-features/ReferenceGuide/RGFirehouseLocation.json +69 -69
- package/examples/rason-features/ReferenceGuide/RGFirehouseLocationConic.json +113 -113
- package/examples/rason-features/ReferenceGuide/RGProductMixCsv1.json +107 -107
- package/examples/rason-features/ReferenceGuide/RGProductMixExcel11.json +117 -117
- package/examples/rason-features/ReferenceGuide/RGProductMixSQL11.json +108 -108
- package/examples/rason-features/UserGuide/UGAirlineHubCSV.json +67 -67
- package/examples/rason-features/UserGuide/UGForecast.json +50 -50
- package/examples/rason-features/UserGuide/UGProductMix1.json +48 -48
- package/examples/rason-features/UserGuide/UGProductMix2.json +48 -48
- package/examples/rason-features/UserGuide/UGProductMixTab1.json +67 -67
- package/examples/rason-features/UserGuide/UGProductMixTab2.json +76 -76
- package/examples/rason-features/UserGuide/UGProductMixTab3.json +66 -66
- package/examples/rason-features/UserGuide/UGProductMixTab4.json +70 -70
- package/examples/rason-features/UserGuide/UGProductMixTab5.json +67 -67
- package/examples/rason-features/UserGuide/UGProjectSelect0.json +91 -91
- package/examples/rason-features/UserGuide/UGProjectSelect1.json +74 -74
- package/examples/rason-features/UserGuide/UGProjectSelect2.json +74 -74
- package/examples/rason-features/UserGuide/UGYieldManagement1.json +61 -61
- package/examples/rason-features/UserGuide/UGYieldManagement2.json +61 -61
- package/examples/rason-features/UserGuide/UGYieldManagement3.json +63 -63
- package/out/index.cjs +1 -1
- package/package.json +3 -2
|
@@ -1,237 +1,237 @@
|
|
|
1
|
-
{
|
|
2
|
-
"comment": "This model has been generated by Psi from an Excel model in the workbook GBMSimpleModel(Sim).xlsx",
|
|
3
|
-
"modelName": "GBMSimpleModel(Sim)",
|
|
4
|
-
"modelDescription": "RASON example model using Simple Geometric Brownian Motion based Pricing Model: Data obtained from www.yahoo.com.",
|
|
5
|
-
"modelType": "simulation",
|
|
6
|
-
"engineSettings": {
|
|
7
|
-
"comment": "Use the engineSettings section to set options related to the engine being used to solve the RASON model, in the case of a simulation model, the Risk Solver Engine. In most cases, the default values are sufficient.",
|
|
8
|
-
"randomGenerator": "Lecuyer",
|
|
9
|
-
"samplingMethod": "Latin"
|
|
10
|
-
},
|
|
11
|
-
"uncertainVariables": {
|
|
12
|
-
"comment": "The uncertain variables are entered into the uncertainVariables section. This model uses the PsiNormal distribution to compute the uncertainty in each time period (each day).",
|
|
13
|
-
"dist1": {
|
|
14
|
-
"formula": "PsiNormal(0,1)"
|
|
15
|
-
},
|
|
16
|
-
"dist2": {
|
|
17
|
-
"formula": "PsiNormal(0,1)"
|
|
18
|
-
},
|
|
19
|
-
"dist3": {
|
|
20
|
-
"formula": "PsiNormal(0,1)"
|
|
21
|
-
},
|
|
22
|
-
"dist4": {
|
|
23
|
-
"formula": "PsiNormal(0,1)"
|
|
24
|
-
},
|
|
25
|
-
"dist5": {
|
|
26
|
-
"formula": "PsiNormal(0,1)"
|
|
27
|
-
},
|
|
28
|
-
"dist6": {
|
|
29
|
-
"formula": "PsiNormal(0,1)"
|
|
30
|
-
},
|
|
31
|
-
"dist7": {
|
|
32
|
-
"formula": "PsiNormal(0,1)"
|
|
33
|
-
},
|
|
34
|
-
"dist8": {
|
|
35
|
-
"formula": "PsiNormal(0,1)"
|
|
36
|
-
},
|
|
37
|
-
"dist9": {
|
|
38
|
-
"formula": "PsiNormal(0,1)"
|
|
39
|
-
},
|
|
40
|
-
"dist10": {
|
|
41
|
-
"formula": "PsiNormal(0,1)"
|
|
42
|
-
},
|
|
43
|
-
"dist11": {
|
|
44
|
-
"formula": "PsiNormal(0,1)"
|
|
45
|
-
},
|
|
46
|
-
"dist12": {
|
|
47
|
-
"formula": "PsiNormal(0,1)"
|
|
48
|
-
},
|
|
49
|
-
"dist13": {
|
|
50
|
-
"formula": "PsiNormal(0,1)"
|
|
51
|
-
},
|
|
52
|
-
"dist14": {
|
|
53
|
-
"formula": "PsiNormal(0,1)"
|
|
54
|
-
},
|
|
55
|
-
"dist15": {
|
|
56
|
-
"formula": "PsiNormal(0,1)"
|
|
57
|
-
},
|
|
58
|
-
"dist16": {
|
|
59
|
-
"formula": "PsiNormal(0,1)"
|
|
60
|
-
},
|
|
61
|
-
"dist17": {
|
|
62
|
-
"formula": "PsiNormal(0,1)"
|
|
63
|
-
},
|
|
64
|
-
"dist18": {
|
|
65
|
-
"formula": "PsiNormal(0,1)"
|
|
66
|
-
},
|
|
67
|
-
"dist19": {
|
|
68
|
-
"formula": "PsiNormal(0,1)"
|
|
69
|
-
},
|
|
70
|
-
"dist20": {
|
|
71
|
-
"formula": "PsiNormal(0,1)"
|
|
72
|
-
},
|
|
73
|
-
"dist21": {
|
|
74
|
-
"formula": "PsiNormal(0,1)"
|
|
75
|
-
},
|
|
76
|
-
"dist22": {
|
|
77
|
-
"formula": "PsiNormal(0,1)"
|
|
78
|
-
},
|
|
79
|
-
"dist23": {
|
|
80
|
-
"formula": "PsiNormal(0,1)"
|
|
81
|
-
},
|
|
82
|
-
"dist24": {
|
|
83
|
-
"formula": "PsiNormal(0,1)"
|
|
84
|
-
}
|
|
85
|
-
},
|
|
86
|
-
"data": {
|
|
87
|
-
"comment": "Use the data section to keep constant data parameters organized.",
|
|
88
|
-
"priceJan2": {
|
|
89
|
-
"comment": "Closing price for Jan 2.",
|
|
90
|
-
"value": 20.33
|
|
91
|
-
},
|
|
92
|
-
"meanDailyReturn": {
|
|
93
|
-
"comment": "Mean daily return",
|
|
94
|
-
"value": "0.00019"
|
|
95
|
-
},
|
|
96
|
-
"stdDailyReturn": {
|
|
97
|
-
"comment": "Mean daily return standard deviation",
|
|
98
|
-
"value": "0.009486"
|
|
99
|
-
},
|
|
100
|
-
"numDays": {
|
|
101
|
-
"value": 100
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
|
-
"formulas": {
|
|
105
|
-
"appRate": {
|
|
106
|
-
"comment": "appreciation rate = (meanDailyReturn/(1/numDays)) + (1/2volatility^2) ",
|
|
107
|
-
"formula": "(meanDailyReturn/(1/numDays))+(1/2 * volatility^2)"
|
|
108
|
-
},
|
|
109
|
-
"volatility": {
|
|
110
|
-
"comment": "volatility = stdDailyReturn/(SQRT(1/numDays))",
|
|
111
|
-
"formula": "stdDailyReturn/(SQRT(1/numDays))"
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
"uncertainFunctions": {
|
|
115
|
-
"comment": "The uncertain functions represent the predicted daily price for the stock. ",
|
|
116
|
-
"predPrice1": {
|
|
117
|
-
"formula": "(priceJan2*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist1)))+PsiOutput()",
|
|
118
|
-
"trials": [],
|
|
119
|
-
"mean": []
|
|
120
|
-
},
|
|
121
|
-
"predPrice2": {
|
|
122
|
-
"formula": "(predPrice1*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist2)))+PsiOutput()",
|
|
123
|
-
"trials": [],
|
|
124
|
-
"mean": []
|
|
125
|
-
},
|
|
126
|
-
"predPrice3": {
|
|
127
|
-
"formula": "(predPrice2*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist3)))+PsiOutput()",
|
|
128
|
-
"trials": [],
|
|
129
|
-
"mean": []
|
|
130
|
-
},
|
|
131
|
-
"predPrice4": {
|
|
132
|
-
"formula": "(predPrice3*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist4)))+PsiOutput()",
|
|
133
|
-
"trials": [],
|
|
134
|
-
"mean": []
|
|
135
|
-
},
|
|
136
|
-
"predPrice5": {
|
|
137
|
-
"formula": "(predPrice4*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist5)))+PsiOutput()",
|
|
138
|
-
"trials": [],
|
|
139
|
-
"mean": []
|
|
140
|
-
},
|
|
141
|
-
"predPrice6": {
|
|
142
|
-
"formula": "(predPrice5*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist6)))+PsiOutput()",
|
|
143
|
-
"trials": [],
|
|
144
|
-
"mean": []
|
|
145
|
-
},
|
|
146
|
-
"predPrice7": {
|
|
147
|
-
"formula": "(predPrice6*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist7)))+PsiOutput()",
|
|
148
|
-
"trials": [],
|
|
149
|
-
"mean": []
|
|
150
|
-
},
|
|
151
|
-
"predPrice8": {
|
|
152
|
-
"formula": "(predPrice7*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist8)))+PsiOutput()",
|
|
153
|
-
"trials": [],
|
|
154
|
-
"mean": []
|
|
155
|
-
},
|
|
156
|
-
"predPrice9": {
|
|
157
|
-
"formula": "(predPrice8*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist9)))+PsiOutput()",
|
|
158
|
-
"trials": [],
|
|
159
|
-
"mean": []
|
|
160
|
-
},
|
|
161
|
-
"predPrice10": {
|
|
162
|
-
"formula": "(predPrice9*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist10)))+PsiOutput()",
|
|
163
|
-
"trials": [],
|
|
164
|
-
"mean": []
|
|
165
|
-
},
|
|
166
|
-
"predPrice11": {
|
|
167
|
-
"formula": "(predPrice10*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist11)))+PsiOutput()",
|
|
168
|
-
"trials": [],
|
|
169
|
-
"mean": []
|
|
170
|
-
},
|
|
171
|
-
"predPrice12": {
|
|
172
|
-
"formula": "(predPrice11*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist12)))+PsiOutput()",
|
|
173
|
-
"trials": [],
|
|
174
|
-
"mean": []
|
|
175
|
-
},
|
|
176
|
-
"predPrice13": {
|
|
177
|
-
"formula": "(predPrice12*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist13)))+PsiOutput()",
|
|
178
|
-
"trials": [],
|
|
179
|
-
"mean": []
|
|
180
|
-
},
|
|
181
|
-
"predPrice14": {
|
|
182
|
-
"formula": "(predPrice13*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist14)))+PsiOutput()",
|
|
183
|
-
"trials": [],
|
|
184
|
-
"mean": []
|
|
185
|
-
},
|
|
186
|
-
"predPrice15": {
|
|
187
|
-
"formula": "(predPrice14*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist15)))+PsiOutput()",
|
|
188
|
-
"trials": [],
|
|
189
|
-
"mean": []
|
|
190
|
-
},
|
|
191
|
-
"predPrice16": {
|
|
192
|
-
"formula": "(predPrice15*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist16)))+PsiOutput()",
|
|
193
|
-
"trials": [],
|
|
194
|
-
"mean": []
|
|
195
|
-
},
|
|
196
|
-
"predPrice17": {
|
|
197
|
-
"formula": "(predPrice16*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist17)))+PsiOutput()",
|
|
198
|
-
"trials": [],
|
|
199
|
-
"mean": []
|
|
200
|
-
},
|
|
201
|
-
"predPrice18": {
|
|
202
|
-
"formula": "(predPrice17*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist18)))+PsiOutput()",
|
|
203
|
-
"trials": [],
|
|
204
|
-
"mean": []
|
|
205
|
-
},
|
|
206
|
-
"predPrice19": {
|
|
207
|
-
"formula": "(predPrice18*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist19)))+PsiOutput()",
|
|
208
|
-
"trials": [],
|
|
209
|
-
"mean": []
|
|
210
|
-
},
|
|
211
|
-
"predPrice20": {
|
|
212
|
-
"formula": "(predPrice19*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist20)))+PsiOutput()",
|
|
213
|
-
"trials": [],
|
|
214
|
-
"mean": []
|
|
215
|
-
},
|
|
216
|
-
"predPrice21": {
|
|
217
|
-
"formula": "(predPrice20*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist21)))+PsiOutput()",
|
|
218
|
-
"trials": [],
|
|
219
|
-
"mean": []
|
|
220
|
-
},
|
|
221
|
-
"predPrice22": {
|
|
222
|
-
"formula": "(predPrice21*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist22)))+PsiOutput()",
|
|
223
|
-
"trials": [],
|
|
224
|
-
"mean": []
|
|
225
|
-
},
|
|
226
|
-
"predPrice23": {
|
|
227
|
-
"formula": "(predPrice22*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist23)))+PsiOutput()",
|
|
228
|
-
"trials": [],
|
|
229
|
-
"mean": []
|
|
230
|
-
},
|
|
231
|
-
"predPrice24": {
|
|
232
|
-
"formula": "(predPrice23*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist24)))+PsiOutput()",
|
|
233
|
-
"trials": [],
|
|
234
|
-
"mean": []
|
|
235
|
-
}
|
|
236
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"comment": "This model has been generated by Psi from an Excel model in the workbook GBMSimpleModel(Sim).xlsx",
|
|
3
|
+
"modelName": "GBMSimpleModel(Sim)",
|
|
4
|
+
"modelDescription": "RASON example model using Simple Geometric Brownian Motion based Pricing Model: Data obtained from www.yahoo.com.",
|
|
5
|
+
"modelType": "simulation",
|
|
6
|
+
"engineSettings": {
|
|
7
|
+
"comment": "Use the engineSettings section to set options related to the engine being used to solve the RASON model, in the case of a simulation model, the Risk Solver Engine. In most cases, the default values are sufficient.",
|
|
8
|
+
"randomGenerator": "Lecuyer",
|
|
9
|
+
"samplingMethod": "Latin"
|
|
10
|
+
},
|
|
11
|
+
"uncertainVariables": {
|
|
12
|
+
"comment": "The uncertain variables are entered into the uncertainVariables section. This model uses the PsiNormal distribution to compute the uncertainty in each time period (each day).",
|
|
13
|
+
"dist1": {
|
|
14
|
+
"formula": "PsiNormal(0,1)"
|
|
15
|
+
},
|
|
16
|
+
"dist2": {
|
|
17
|
+
"formula": "PsiNormal(0,1)"
|
|
18
|
+
},
|
|
19
|
+
"dist3": {
|
|
20
|
+
"formula": "PsiNormal(0,1)"
|
|
21
|
+
},
|
|
22
|
+
"dist4": {
|
|
23
|
+
"formula": "PsiNormal(0,1)"
|
|
24
|
+
},
|
|
25
|
+
"dist5": {
|
|
26
|
+
"formula": "PsiNormal(0,1)"
|
|
27
|
+
},
|
|
28
|
+
"dist6": {
|
|
29
|
+
"formula": "PsiNormal(0,1)"
|
|
30
|
+
},
|
|
31
|
+
"dist7": {
|
|
32
|
+
"formula": "PsiNormal(0,1)"
|
|
33
|
+
},
|
|
34
|
+
"dist8": {
|
|
35
|
+
"formula": "PsiNormal(0,1)"
|
|
36
|
+
},
|
|
37
|
+
"dist9": {
|
|
38
|
+
"formula": "PsiNormal(0,1)"
|
|
39
|
+
},
|
|
40
|
+
"dist10": {
|
|
41
|
+
"formula": "PsiNormal(0,1)"
|
|
42
|
+
},
|
|
43
|
+
"dist11": {
|
|
44
|
+
"formula": "PsiNormal(0,1)"
|
|
45
|
+
},
|
|
46
|
+
"dist12": {
|
|
47
|
+
"formula": "PsiNormal(0,1)"
|
|
48
|
+
},
|
|
49
|
+
"dist13": {
|
|
50
|
+
"formula": "PsiNormal(0,1)"
|
|
51
|
+
},
|
|
52
|
+
"dist14": {
|
|
53
|
+
"formula": "PsiNormal(0,1)"
|
|
54
|
+
},
|
|
55
|
+
"dist15": {
|
|
56
|
+
"formula": "PsiNormal(0,1)"
|
|
57
|
+
},
|
|
58
|
+
"dist16": {
|
|
59
|
+
"formula": "PsiNormal(0,1)"
|
|
60
|
+
},
|
|
61
|
+
"dist17": {
|
|
62
|
+
"formula": "PsiNormal(0,1)"
|
|
63
|
+
},
|
|
64
|
+
"dist18": {
|
|
65
|
+
"formula": "PsiNormal(0,1)"
|
|
66
|
+
},
|
|
67
|
+
"dist19": {
|
|
68
|
+
"formula": "PsiNormal(0,1)"
|
|
69
|
+
},
|
|
70
|
+
"dist20": {
|
|
71
|
+
"formula": "PsiNormal(0,1)"
|
|
72
|
+
},
|
|
73
|
+
"dist21": {
|
|
74
|
+
"formula": "PsiNormal(0,1)"
|
|
75
|
+
},
|
|
76
|
+
"dist22": {
|
|
77
|
+
"formula": "PsiNormal(0,1)"
|
|
78
|
+
},
|
|
79
|
+
"dist23": {
|
|
80
|
+
"formula": "PsiNormal(0,1)"
|
|
81
|
+
},
|
|
82
|
+
"dist24": {
|
|
83
|
+
"formula": "PsiNormal(0,1)"
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"data": {
|
|
87
|
+
"comment": "Use the data section to keep constant data parameters organized.",
|
|
88
|
+
"priceJan2": {
|
|
89
|
+
"comment": "Closing price for Jan 2.",
|
|
90
|
+
"value": 20.33
|
|
91
|
+
},
|
|
92
|
+
"meanDailyReturn": {
|
|
93
|
+
"comment": "Mean daily return",
|
|
94
|
+
"value": "0.00019"
|
|
95
|
+
},
|
|
96
|
+
"stdDailyReturn": {
|
|
97
|
+
"comment": "Mean daily return standard deviation",
|
|
98
|
+
"value": "0.009486"
|
|
99
|
+
},
|
|
100
|
+
"numDays": {
|
|
101
|
+
"value": 100
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"formulas": {
|
|
105
|
+
"appRate": {
|
|
106
|
+
"comment": "appreciation rate = (meanDailyReturn/(1/numDays)) + (1/2volatility^2) ",
|
|
107
|
+
"formula": "(meanDailyReturn/(1/numDays))+(1/2 * volatility^2)"
|
|
108
|
+
},
|
|
109
|
+
"volatility": {
|
|
110
|
+
"comment": "volatility = stdDailyReturn/(SQRT(1/numDays))",
|
|
111
|
+
"formula": "stdDailyReturn/(SQRT(1/numDays))"
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
"uncertainFunctions": {
|
|
115
|
+
"comment": "The uncertain functions represent the predicted daily price for the stock. ",
|
|
116
|
+
"predPrice1": {
|
|
117
|
+
"formula": "(priceJan2*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist1)))+PsiOutput()",
|
|
118
|
+
"trials": [],
|
|
119
|
+
"mean": []
|
|
120
|
+
},
|
|
121
|
+
"predPrice2": {
|
|
122
|
+
"formula": "(predPrice1*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist2)))+PsiOutput()",
|
|
123
|
+
"trials": [],
|
|
124
|
+
"mean": []
|
|
125
|
+
},
|
|
126
|
+
"predPrice3": {
|
|
127
|
+
"formula": "(predPrice2*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist3)))+PsiOutput()",
|
|
128
|
+
"trials": [],
|
|
129
|
+
"mean": []
|
|
130
|
+
},
|
|
131
|
+
"predPrice4": {
|
|
132
|
+
"formula": "(predPrice3*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist4)))+PsiOutput()",
|
|
133
|
+
"trials": [],
|
|
134
|
+
"mean": []
|
|
135
|
+
},
|
|
136
|
+
"predPrice5": {
|
|
137
|
+
"formula": "(predPrice4*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist5)))+PsiOutput()",
|
|
138
|
+
"trials": [],
|
|
139
|
+
"mean": []
|
|
140
|
+
},
|
|
141
|
+
"predPrice6": {
|
|
142
|
+
"formula": "(predPrice5*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist6)))+PsiOutput()",
|
|
143
|
+
"trials": [],
|
|
144
|
+
"mean": []
|
|
145
|
+
},
|
|
146
|
+
"predPrice7": {
|
|
147
|
+
"formula": "(predPrice6*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist7)))+PsiOutput()",
|
|
148
|
+
"trials": [],
|
|
149
|
+
"mean": []
|
|
150
|
+
},
|
|
151
|
+
"predPrice8": {
|
|
152
|
+
"formula": "(predPrice7*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist8)))+PsiOutput()",
|
|
153
|
+
"trials": [],
|
|
154
|
+
"mean": []
|
|
155
|
+
},
|
|
156
|
+
"predPrice9": {
|
|
157
|
+
"formula": "(predPrice8*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist9)))+PsiOutput()",
|
|
158
|
+
"trials": [],
|
|
159
|
+
"mean": []
|
|
160
|
+
},
|
|
161
|
+
"predPrice10": {
|
|
162
|
+
"formula": "(predPrice9*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist10)))+PsiOutput()",
|
|
163
|
+
"trials": [],
|
|
164
|
+
"mean": []
|
|
165
|
+
},
|
|
166
|
+
"predPrice11": {
|
|
167
|
+
"formula": "(predPrice10*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist11)))+PsiOutput()",
|
|
168
|
+
"trials": [],
|
|
169
|
+
"mean": []
|
|
170
|
+
},
|
|
171
|
+
"predPrice12": {
|
|
172
|
+
"formula": "(predPrice11*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist12)))+PsiOutput()",
|
|
173
|
+
"trials": [],
|
|
174
|
+
"mean": []
|
|
175
|
+
},
|
|
176
|
+
"predPrice13": {
|
|
177
|
+
"formula": "(predPrice12*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist13)))+PsiOutput()",
|
|
178
|
+
"trials": [],
|
|
179
|
+
"mean": []
|
|
180
|
+
},
|
|
181
|
+
"predPrice14": {
|
|
182
|
+
"formula": "(predPrice13*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist14)))+PsiOutput()",
|
|
183
|
+
"trials": [],
|
|
184
|
+
"mean": []
|
|
185
|
+
},
|
|
186
|
+
"predPrice15": {
|
|
187
|
+
"formula": "(predPrice14*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist15)))+PsiOutput()",
|
|
188
|
+
"trials": [],
|
|
189
|
+
"mean": []
|
|
190
|
+
},
|
|
191
|
+
"predPrice16": {
|
|
192
|
+
"formula": "(predPrice15*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist16)))+PsiOutput()",
|
|
193
|
+
"trials": [],
|
|
194
|
+
"mean": []
|
|
195
|
+
},
|
|
196
|
+
"predPrice17": {
|
|
197
|
+
"formula": "(predPrice16*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist17)))+PsiOutput()",
|
|
198
|
+
"trials": [],
|
|
199
|
+
"mean": []
|
|
200
|
+
},
|
|
201
|
+
"predPrice18": {
|
|
202
|
+
"formula": "(predPrice17*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist18)))+PsiOutput()",
|
|
203
|
+
"trials": [],
|
|
204
|
+
"mean": []
|
|
205
|
+
},
|
|
206
|
+
"predPrice19": {
|
|
207
|
+
"formula": "(predPrice18*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist19)))+PsiOutput()",
|
|
208
|
+
"trials": [],
|
|
209
|
+
"mean": []
|
|
210
|
+
},
|
|
211
|
+
"predPrice20": {
|
|
212
|
+
"formula": "(predPrice19*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist20)))+PsiOutput()",
|
|
213
|
+
"trials": [],
|
|
214
|
+
"mean": []
|
|
215
|
+
},
|
|
216
|
+
"predPrice21": {
|
|
217
|
+
"formula": "(predPrice20*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist21)))+PsiOutput()",
|
|
218
|
+
"trials": [],
|
|
219
|
+
"mean": []
|
|
220
|
+
},
|
|
221
|
+
"predPrice22": {
|
|
222
|
+
"formula": "(predPrice21*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist22)))+PsiOutput()",
|
|
223
|
+
"trials": [],
|
|
224
|
+
"mean": []
|
|
225
|
+
},
|
|
226
|
+
"predPrice23": {
|
|
227
|
+
"formula": "(predPrice22*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist23)))+PsiOutput()",
|
|
228
|
+
"trials": [],
|
|
229
|
+
"mean": []
|
|
230
|
+
},
|
|
231
|
+
"predPrice24": {
|
|
232
|
+
"formula": "(predPrice23*(EXP((appRate-volatility^2*0.5)*(1/numDays))+(volatility*SQRT(1/numDays)*dist24)))+PsiOutput()",
|
|
233
|
+
"trials": [],
|
|
234
|
+
"mean": []
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
237
|
}
|
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
{
|
|
2
|
-
"modelName": "YieldManagementSimExample",
|
|
3
|
-
"modelDescription": "RASON Airline Revenue Management Model: The price for a flight ticket from San Francisco to Seattle is $200. Each plane can hold no more than 100 passengers. Usually, some passengers who have purchased a ticket are 'no-shows'. To protect against such no-shows, the airline would like to sell more than 100 tickets for each flight. Federal regulations require that any ticketed customer who is unable to board the plane due to overbooking is entitled to compensation of 125% of the ticket value paid by the customer. Any no-show customer is refunded 50% of the ticket value paid by the customer. The number of no-shows, 'no_shows', is randomly distributed with a Lognormal distribution with mean of 10% of the number of tickets sold, 'sold', and standard deviation of 6% of 'sold'. In this problem, the only uncertainty, 'no_shows', depends on the parameter 'sold'. (The ROUND function in the 'show-ups' formula, rounds the fractional value for 'no_shows' to a whole number.) The number of tickets sold is set to 110. Total Revenue (the uncertain function) is a random quantity, since it depends on the number of no-shows. the mean is returned in the results. This mean is the Expected Total Revenue for the flight. The distribution of Total Revenue will change with the Number of Tickets Sold. Enter a new value for 'sold' to see how the distribution of Total Revenue changes. Try to find an optimal number that will maximize the Total Expected Revenue.",
|
|
4
|
-
"modelType": "simulation",
|
|
5
|
-
"modelSettings": {
|
|
6
|
-
"comment": "Use this section to change model option settings. See the RASON Reference Guide (downloadable from the Help tab) for all model option descriptions.",
|
|
7
|
-
"numSimulations": 1,
|
|
8
|
-
"numTrials": 100
|
|
9
|
-
},
|
|
10
|
-
"engineSettings": {
|
|
11
|
-
"comment": "Use this section to change option settings for the simulation engine, Risk Solver Engine. See the RASON Reference Guide (downloadable from the Help tab) for all option descriptions for this engine and all RASON engines. Default engine option settings are typically sufficient for optimal performance.",
|
|
12
|
-
"randomSeed": 1234,
|
|
13
|
-
"samplingMethod": 2,
|
|
14
|
-
"randomGenerator": 1,
|
|
15
|
-
"randomStreams": 0,
|
|
16
|
-
"cltThreshold": 100
|
|
17
|
-
},
|
|
18
|
-
"data": {
|
|
19
|
-
"comment": "Use this section to organize constant data parameters in the model.",
|
|
20
|
-
"price": {
|
|
21
|
-
"comment": "This is the price of a ticket",
|
|
22
|
-
"value": 200
|
|
23
|
-
},
|
|
24
|
-
"capacity": {
|
|
25
|
-
"comment": "This is the number of seats on the airplane.",
|
|
26
|
-
"value": 100
|
|
27
|
-
},
|
|
28
|
-
"sold": {
|
|
29
|
-
"comment": "This is the number of tickets sold.",
|
|
30
|
-
"value": 110
|
|
31
|
-
},
|
|
32
|
-
"refund_no_shows": {
|
|
33
|
-
"comment": "Each person who misses the flight is entitled to a refund of 50%.",
|
|
34
|
-
"value": 0.5
|
|
35
|
-
},
|
|
36
|
-
"refund_overbook": {
|
|
37
|
-
"comment": "Federal regulations require that any ticketed customer who is unable to board the plane due to overbooking is entitled to compensation of 125% of the ticket value paid by the customer.",
|
|
38
|
-
"value": 1.25
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
"uncertainVariables": {
|
|
42
|
-
"comment": "The uncertainVariables section contains all of the uncertain variables in a RASON model.",
|
|
43
|
-
"no_shows": {
|
|
44
|
-
"comment": "The only uncertainty, no_Shows, depends on the parameter 'sold'. (The ROUND function rounds the fractional value to a whole number since it's not possible to sell a fractional part of a ticket.) ",
|
|
45
|
-
"formula": "PsiLogNormal(0.1*sold, 0.06*sold)",
|
|
46
|
-
"mean": []
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
"formulas": {
|
|
50
|
-
"comment": "Use this section to organize intermediate formulas which will be utilized in the uncertain function, revenue.",
|
|
51
|
-
"show_ups": {
|
|
52
|
-
"comment": "The number of passengers who show up for the flight.",
|
|
53
|
-
"formula": "sold - Round(no_shows, 0)"
|
|
54
|
-
},
|
|
55
|
-
"overbook": {
|
|
56
|
-
"comment": "The number of overbooked passengers.",
|
|
57
|
-
"formula": "Max(0, show_ups - capacity)"
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
"uncertainFunctions": {
|
|
61
|
-
"comment": "The uncertainFunctions section contains all of the uncertain functions in a RASON model.",
|
|
62
|
-
"revenue": {
|
|
63
|
-
"comment": "Calculate the flight's revenue by multiplying the ticket price by the number of tickets sold - the number of no_shows - the number of ticket refunded due to overbooking. The mean is the expected value of the function. The results will contain the function mean, the percentile values and the values for each of the 100 trials.",
|
|
64
|
-
"formula": "price*(sold - refund_no_shows*Round(no_shows, 0) - refund_overbook*overbook)",
|
|
65
|
-
"mean": [],
|
|
66
|
-
"percentiles": [],
|
|
67
|
-
"trials": []
|
|
68
|
-
}
|
|
69
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"modelName": "YieldManagementSimExample",
|
|
3
|
+
"modelDescription": "RASON Airline Revenue Management Model: The price for a flight ticket from San Francisco to Seattle is $200. Each plane can hold no more than 100 passengers. Usually, some passengers who have purchased a ticket are 'no-shows'. To protect against such no-shows, the airline would like to sell more than 100 tickets for each flight. Federal regulations require that any ticketed customer who is unable to board the plane due to overbooking is entitled to compensation of 125% of the ticket value paid by the customer. Any no-show customer is refunded 50% of the ticket value paid by the customer. The number of no-shows, 'no_shows', is randomly distributed with a Lognormal distribution with mean of 10% of the number of tickets sold, 'sold', and standard deviation of 6% of 'sold'. In this problem, the only uncertainty, 'no_shows', depends on the parameter 'sold'. (The ROUND function in the 'show-ups' formula, rounds the fractional value for 'no_shows' to a whole number.) The number of tickets sold is set to 110. Total Revenue (the uncertain function) is a random quantity, since it depends on the number of no-shows. the mean is returned in the results. This mean is the Expected Total Revenue for the flight. The distribution of Total Revenue will change with the Number of Tickets Sold. Enter a new value for 'sold' to see how the distribution of Total Revenue changes. Try to find an optimal number that will maximize the Total Expected Revenue.",
|
|
4
|
+
"modelType": "simulation",
|
|
5
|
+
"modelSettings": {
|
|
6
|
+
"comment": "Use this section to change model option settings. See the RASON Reference Guide (downloadable from the Help tab) for all model option descriptions.",
|
|
7
|
+
"numSimulations": 1,
|
|
8
|
+
"numTrials": 100
|
|
9
|
+
},
|
|
10
|
+
"engineSettings": {
|
|
11
|
+
"comment": "Use this section to change option settings for the simulation engine, Risk Solver Engine. See the RASON Reference Guide (downloadable from the Help tab) for all option descriptions for this engine and all RASON engines. Default engine option settings are typically sufficient for optimal performance.",
|
|
12
|
+
"randomSeed": 1234,
|
|
13
|
+
"samplingMethod": 2,
|
|
14
|
+
"randomGenerator": 1,
|
|
15
|
+
"randomStreams": 0,
|
|
16
|
+
"cltThreshold": 100
|
|
17
|
+
},
|
|
18
|
+
"data": {
|
|
19
|
+
"comment": "Use this section to organize constant data parameters in the model.",
|
|
20
|
+
"price": {
|
|
21
|
+
"comment": "This is the price of a ticket",
|
|
22
|
+
"value": 200
|
|
23
|
+
},
|
|
24
|
+
"capacity": {
|
|
25
|
+
"comment": "This is the number of seats on the airplane.",
|
|
26
|
+
"value": 100
|
|
27
|
+
},
|
|
28
|
+
"sold": {
|
|
29
|
+
"comment": "This is the number of tickets sold.",
|
|
30
|
+
"value": 110
|
|
31
|
+
},
|
|
32
|
+
"refund_no_shows": {
|
|
33
|
+
"comment": "Each person who misses the flight is entitled to a refund of 50%.",
|
|
34
|
+
"value": 0.5
|
|
35
|
+
},
|
|
36
|
+
"refund_overbook": {
|
|
37
|
+
"comment": "Federal regulations require that any ticketed customer who is unable to board the plane due to overbooking is entitled to compensation of 125% of the ticket value paid by the customer.",
|
|
38
|
+
"value": 1.25
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"uncertainVariables": {
|
|
42
|
+
"comment": "The uncertainVariables section contains all of the uncertain variables in a RASON model.",
|
|
43
|
+
"no_shows": {
|
|
44
|
+
"comment": "The only uncertainty, no_Shows, depends on the parameter 'sold'. (The ROUND function rounds the fractional value to a whole number since it's not possible to sell a fractional part of a ticket.) ",
|
|
45
|
+
"formula": "PsiLogNormal(0.1*sold, 0.06*sold)",
|
|
46
|
+
"mean": []
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"formulas": {
|
|
50
|
+
"comment": "Use this section to organize intermediate formulas which will be utilized in the uncertain function, revenue.",
|
|
51
|
+
"show_ups": {
|
|
52
|
+
"comment": "The number of passengers who show up for the flight.",
|
|
53
|
+
"formula": "sold - Round(no_shows, 0)"
|
|
54
|
+
},
|
|
55
|
+
"overbook": {
|
|
56
|
+
"comment": "The number of overbooked passengers.",
|
|
57
|
+
"formula": "Max(0, show_ups - capacity)"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"uncertainFunctions": {
|
|
61
|
+
"comment": "The uncertainFunctions section contains all of the uncertain functions in a RASON model.",
|
|
62
|
+
"revenue": {
|
|
63
|
+
"comment": "Calculate the flight's revenue by multiplying the ticket price by the number of tickets sold - the number of no_shows - the number of ticket refunded due to overbooking. The mean is the expected value of the function. The results will contain the function mean, the percentile values and the values for each of the 100 trials.",
|
|
64
|
+
"formula": "price*(sold - refund_no_shows*Round(no_shows, 0) - refund_overbook*overbook)",
|
|
65
|
+
"mean": [],
|
|
66
|
+
"percentiles": [],
|
|
67
|
+
"trials": []
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
70
|
}
|