@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.
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,114 +1,114 @@
1
- {
2
- "flowName": "ds-risk-analysis-flow",
3
- "comment": "Data Mining Risk Analysis Decision Flow: This example includes two stages, the MLR-SIM-Stage and the Summarization Stage. In the first stage, data is imported from an outside data source and then partitioned. Next, a linear regression estimator is created with synthetic data generation. Lastly, a model is fit to the training partition using the linear regression estimator (with synthetic data generation) and that model is used to score the training partition. The 2nd stage of the decision flow accepts the predictions from the first stage as input parameters. Then the summarization transformer is applied to the actual imported data and the synthetically generated data.",
4
- "modelType": "flow",
5
- "mlr-sim-stage": {
6
- "comment": "This stage imports data from an outside source, partitions the data, creates a linear regression estimator with synthetic data generation turned on, fits a LR model to the data and then uses that model to score the training partition.",
7
- "modelName": "mlr-sim",
8
- "datasources": {
9
- "comment": "Control the import and export of data to outside data sources using the datasources section.",
10
- "my-train-src": {
11
- "comment": "In this example, data is imported from bh-scale-reg.txt and assigned to the my-train-src datasource.",
12
- "type": "csv",
13
- "connection": "bh-scale-reg.txt"
14
- }
15
- },
16
- "datasets": {
17
- "comment": "Binds a datasource to a dataset using the datasets section. ",
18
- "my-train-data": {
19
- "comment": "The my-train-src datasource is bound to the my-train-data dataset.",
20
- "binding": "my-train-src",
21
- "targetCol": "MEDV"
22
- }
23
- },
24
- "estimator": {
25
- "comment": "Use the estimator section to setup estimator(s).",
26
- "mlr-estimator": {
27
- "comment": "Multiple linear regression estimator with synthetic data generation turned on by adding 'simulation' for the estimator. ",
28
- "type": "regression",
29
- "algorithm": "linearRegression",
30
- "parameters": {
31
- "fitIntercept": true
32
- },
33
- "simulation": {
34
- "metalogAuto": true,
35
- "useMinMaxAsBounds": true,
36
- "correlationType": "RANK",
37
- "sampleSize": 506,
38
- "randomSeed": 12345,
39
- "expression": "IF(CRIM<10, MEDV, 2*MEDV)"
40
- }
41
- }
42
- },
43
- "actions": {
44
- "comment": "Use the actions section to fit a model to a dataset and then use that model to score new data.",
45
- "mlr-model": {
46
- "comment": "This action fits the linear regression model, mlr-estimator, to the my-train-data dataset. Since synthetic data generation is turned on, synthetic data statistics are asked to be returned in the results under 'evaluations'. For a complete list of synthetic data output, click Help -- Defining Your Data Mining Model -- Synthetic Data Generator Example.",
47
- "data": "my-train-data",
48
- "estimator": "mlr-estimator",
49
- "action": "fit",
50
- "evaluations": [ "simulationLog", "simulationPrediction", "simulationData", "simulationExpression" ]
51
- },
52
- "training": {
53
- "comment": "This action scores the my-train-data dataset using the fitted linear regression model, mlr-model. The predicted values plus output for the simulation expression (see 'expression': 'IF(CRIM<10, MEDV, 2*MEDV)') will be returned in the results. Results from the 1st stage will not be returned unless keep-intermediate-results = true under Select Query Parameters (in the Properties pane).",
54
- "data": "my-train-data",
55
- "fittedModel": "mlr-model",
56
- "action": "predict",
57
- "evaluations": [ "prediction", "trainingExpression" ]
58
- }
59
- }
60
- },
61
- "summarization-stage": {
62
- "comment": "The second stage accepts input from the 1st stage and then applies the summarization transformer to the predicted values and the synthetically generated data. ",
63
- "modelName": "summarization",
64
- "inputParameters": {
65
- "comment": "The second stage accepts the predicted values from the training and synthetic data plus output related to the expression as applied to both the training and synthetic data. ",
66
- "train-prediction": {
67
- "value": "mlr-sim-stage.training.prediction"
68
- },
69
- "train-expression": {
70
- "value": "mlr-sim-stage.training.trainingExpression"
71
- },
72
- "sim-prediction": {
73
- "value": "mlr-sim-stage.mlr-model.simulationPrediction"
74
- },
75
- "sim-expression": {
76
- "value": "mlr-sim-stage.mlr-model.simulationExpression"
77
- }
78
- },
79
- "transformer": {
80
- "comment": "The second stage sets up a new transformer, summarizer, which will perform data summarization allowing a user to obtain statistics, percentiles and six sigma metrics.",
81
- "summarizer": {
82
- "type": "transformation",
83
- "algorithm": "summarization"
84
- }
85
- },
86
- "actions": {
87
- "comment": "The second stage applies the transformer to the training partition, the synthetic data and to the output from the expression as applied to both the training partition and the synthetic data.",
88
- "train-prediction-summary": {
89
- "comment": "This action generates a data summarization on the predicted scores for the actual data, the training partition. In respose, the basic and advanced summary information is requested as well as the six sigma metrics, percentiles and histogram info.",
90
- "data": "train-prediction",
91
- "action": "transform",
92
- "evaluations": [ "summary", "advancedSummary", "sixSigma", "percentiles", "histogram" ]
93
- },
94
- "train-expression-summary": {
95
- "comment": "This action generates a data summarization on the results of the expression, IF(CRIM<10, MEDV, 2*MEDV), when applied to the actual data. In respose, the basic and advanced summary information is requested as well as the six sigma metrics, percentiles and histogram info.",
96
- "data": "train-expression",
97
- "action": "transform",
98
- "evaluations": [ "summary", "advancedSummary", "sixSigma", "percentiles", "histogram" ]
99
- },
100
- "sim-prediction-summary": {
101
- "comment": "This action generates a data summarization on the scores from the synthetic data. In respose, the basic and advanced summary information is requested as well as the six sigma metrics, percentiles and histogram info.",
102
- "data": "sim-prediction",
103
- "action": "transform",
104
- "evaluations": [ "summary", "advancedSummary", "sixSigma", "percentiles", "histogram" ]
105
- },
106
- "sim-expression-summary": {
107
- "comment": "This action generates a data summarization on the results of the expression, IF(CRIM<10, MEDV, 2*MEDV), as applied to the synthetic data. In respose, the basic and advanced summary information is requested as well as the six sigma metrics, percentiles and histogram info.",
108
- "data": "sim-expression",
109
- "action": "transform",
110
- "evaluations": [ "summary", "advancedSummary", "sixSigma", "percentiles", "histogram" ]
111
- }
112
- }
113
- }
1
+ {
2
+ "flowName": "ds-risk-analysis-flow",
3
+ "comment": "Data Mining Risk Analysis Decision Flow: This example includes two stages, the MLR-SIM-Stage and the Summarization Stage. In the first stage, data is imported from an outside data source and then partitioned. Next, a linear regression estimator is created with synthetic data generation. Lastly, a model is fit to the training partition using the linear regression estimator (with synthetic data generation) and that model is used to score the training partition. The 2nd stage of the decision flow accepts the predictions from the first stage as input parameters. Then the summarization transformer is applied to the actual imported data and the synthetically generated data.",
4
+ "modelType": "flow",
5
+ "mlr-sim-stage": {
6
+ "comment": "This stage imports data from an outside source, partitions the data, creates a linear regression estimator with synthetic data generation turned on, fits a LR model to the data and then uses that model to score the training partition.",
7
+ "modelName": "mlr-sim",
8
+ "datasources": {
9
+ "comment": "Control the import and export of data to outside data sources using the datasources section.",
10
+ "my-train-src": {
11
+ "comment": "In this example, data is imported from bh-scale-reg.txt and assigned to the my-train-src datasource.",
12
+ "type": "csv",
13
+ "connection": "bh-scale-reg.txt"
14
+ }
15
+ },
16
+ "datasets": {
17
+ "comment": "Binds a datasource to a dataset using the datasets section. ",
18
+ "my-train-data": {
19
+ "comment": "The my-train-src datasource is bound to the my-train-data dataset.",
20
+ "binding": "my-train-src",
21
+ "targetCol": "MEDV"
22
+ }
23
+ },
24
+ "estimator": {
25
+ "comment": "Use the estimator section to setup estimator(s).",
26
+ "mlr-estimator": {
27
+ "comment": "Multiple linear regression estimator with synthetic data generation turned on by adding 'simulation' for the estimator. ",
28
+ "type": "regression",
29
+ "algorithm": "linearRegression",
30
+ "parameters": {
31
+ "fitIntercept": true
32
+ },
33
+ "simulation": {
34
+ "metalogAuto": true,
35
+ "useMinMaxAsBounds": true,
36
+ "correlationType": "RANK",
37
+ "sampleSize": 506,
38
+ "randomSeed": 12345,
39
+ "expression": "IF(CRIM<10, MEDV, 2*MEDV)"
40
+ }
41
+ }
42
+ },
43
+ "actions": {
44
+ "comment": "Use the actions section to fit a model to a dataset and then use that model to score new data.",
45
+ "mlr-model": {
46
+ "comment": "This action fits the linear regression model, mlr-estimator, to the my-train-data dataset. Since synthetic data generation is turned on, synthetic data statistics are asked to be returned in the results under 'evaluations'. For a complete list of synthetic data output, click Help -- Defining Your Data Mining Model -- Synthetic Data Generator Example.",
47
+ "data": "my-train-data",
48
+ "estimator": "mlr-estimator",
49
+ "action": "fit",
50
+ "evaluations": [ "simulationLog", "simulationPrediction", "simulationData", "simulationExpression" ]
51
+ },
52
+ "training": {
53
+ "comment": "This action scores the my-train-data dataset using the fitted linear regression model, mlr-model. The predicted values plus output for the simulation expression (see 'expression': 'IF(CRIM<10, MEDV, 2*MEDV)') will be returned in the results. Results from the 1st stage will not be returned unless keep-intermediate-results = true under Select Query Parameters (in the Properties pane).",
54
+ "data": "my-train-data",
55
+ "fittedModel": "mlr-model",
56
+ "action": "predict",
57
+ "evaluations": [ "prediction", "trainingExpression" ]
58
+ }
59
+ }
60
+ },
61
+ "summarization-stage": {
62
+ "comment": "The second stage accepts input from the 1st stage and then applies the summarization transformer to the predicted values and the synthetically generated data. ",
63
+ "modelName": "summarization",
64
+ "inputParameters": {
65
+ "comment": "The second stage accepts the predicted values from the training and synthetic data plus output related to the expression as applied to both the training and synthetic data. ",
66
+ "train-prediction": {
67
+ "value": "mlr-sim-stage.training.prediction"
68
+ },
69
+ "train-expression": {
70
+ "value": "mlr-sim-stage.training.trainingExpression"
71
+ },
72
+ "sim-prediction": {
73
+ "value": "mlr-sim-stage.mlr-model.simulationPrediction"
74
+ },
75
+ "sim-expression": {
76
+ "value": "mlr-sim-stage.mlr-model.simulationExpression"
77
+ }
78
+ },
79
+ "transformer": {
80
+ "comment": "The second stage sets up a new transformer, summarizer, which will perform data summarization allowing a user to obtain statistics, percentiles and six sigma metrics.",
81
+ "summarizer": {
82
+ "type": "transformation",
83
+ "algorithm": "summarization"
84
+ }
85
+ },
86
+ "actions": {
87
+ "comment": "The second stage applies the transformer to the training partition, the synthetic data and to the output from the expression as applied to both the training partition and the synthetic data.",
88
+ "train-prediction-summary": {
89
+ "comment": "This action generates a data summarization on the predicted scores for the actual data, the training partition. In respose, the basic and advanced summary information is requested as well as the six sigma metrics, percentiles and histogram info.",
90
+ "data": "train-prediction",
91
+ "action": "transform",
92
+ "evaluations": [ "summary", "advancedSummary", "sixSigma", "percentiles", "histogram" ]
93
+ },
94
+ "train-expression-summary": {
95
+ "comment": "This action generates a data summarization on the results of the expression, IF(CRIM<10, MEDV, 2*MEDV), when applied to the actual data. In respose, the basic and advanced summary information is requested as well as the six sigma metrics, percentiles and histogram info.",
96
+ "data": "train-expression",
97
+ "action": "transform",
98
+ "evaluations": [ "summary", "advancedSummary", "sixSigma", "percentiles", "histogram" ]
99
+ },
100
+ "sim-prediction-summary": {
101
+ "comment": "This action generates a data summarization on the scores from the synthetic data. In respose, the basic and advanced summary information is requested as well as the six sigma metrics, percentiles and histogram info.",
102
+ "data": "sim-prediction",
103
+ "action": "transform",
104
+ "evaluations": [ "summary", "advancedSummary", "sixSigma", "percentiles", "histogram" ]
105
+ },
106
+ "sim-expression-summary": {
107
+ "comment": "This action generates a data summarization on the results of the expression, IF(CRIM<10, MEDV, 2*MEDV), as applied to the synthetic data. In respose, the basic and advanced summary information is requested as well as the six sigma metrics, percentiles and histogram info.",
108
+ "data": "sim-expression",
109
+ "action": "transform",
110
+ "evaluations": [ "summary", "advancedSummary", "sixSigma", "percentiles", "histogram" ]
111
+ }
112
+ }
113
+ }
114
114
  }
@@ -1,160 +1,160 @@
1
- {
2
- "flowName": "optSimWorkflow",
3
- "flowDescription": "This decision flow is made up of two stages, an optimization stage and a simulation stage. \nThe optimization stage solves an optimization model that selects an optimal mix of capital improvement projects. Afterwards, the simulation stage then runs a simulation. To view the contents of the decision flow, click the Show RASON Editor icon on the top right of the Editor grid. \nTo run, simply POST the model by clicking the POST icon (cloud icon), then solve the flow by clicking the down arrow next to the play button icon and select Solve. Click Help on the RASON ribbon for more information on posting and solving RASON Decision Flows.",
4
- "modelType": "flow",
5
- "optStage": {
6
- "comment": "The first stage solves a stochastic optimization model similiar to the ProjectSelect example under Examples - Optimization - Optimization with Uncertainty. Recall that the goal in this example is to select from 8 investment projects that will maximize the expected cash flow subject to a budget constraint of $1.5M. This stage transforms the stochastic model (model containing uncertainty) into a linear model using the robustCounterpart method.",
7
- "modelName": "optModel",
8
- "modelSettings": {
9
- "comment": "Use 'transformStochastic':'robustCounterpart' to determine if an attempt is made to transform your optimization model with uncertainty into a conventional optimization model without uncertainty: either the Deterministic Equivalent model (as used in stochastic linear programming), or a Robust Counterpart model (as used in robust optimization). The result of a successful transformation is a conventional linear programming model, but with considerably more decision variables and constraints than the original model. For more information on this option, see the RASON Reference Guide downloadable by clicking the Help tab on the RASON ribbon. The option 'numTrials' sets the number of trials to 100.",
10
- "transformStochastic": "robustCounterpart",
11
- "numTrials": 100
12
- },
13
- "engineSettings": {
14
- "comment": "Setting the random number seed to a nonzero value (any number of your choice is OK) ensures that the same sequence of random numbers is used for each simulation. When the seed is zero, the random number generator is initialized from the system clock, so the sequence of random numbers will be different in each simulation. If you need the results from one simulation to another to be strictly comparable, you should set the seed. You can specify a random seed for each uncertain variable if you wish (in the uncertainVariables section) by including the PsiSeed() property function as an argument to the PSI Distribution function formula for that variable. The seed value you set using the model option randomSeed affects only uncertain variables that do not have PsiSeed() property functions.",
15
- "randomSeed": 1
16
- },
17
- "variables": {
18
- "comment": "These are the decision variables in the model. There are 8 as given by the dimensions property. The type property sets all 8 variables to binary or 0,1 variables. Each variable represents an investment project. A 1 will indicate if that investment should be selected while 0 indicates that the investment should not be selected. The variable initial values, final values and dual values will be returned in the results due to the presence of the three properties, initalValue, finalValue and dualValue, respectively.",
19
- "x": {
20
- "dimensions": [ 8 ],
21
- "type": "binary",
22
- "initialValue": [],
23
- "finalValue": [],
24
- "dualValue": []
25
- }
26
- },
27
- "uncertainVariables": {
28
- "comment": "These are the uncertain variables in the model. There are 16: 8 C varaibles and 8 d variables. The 8 c variables contain the probable cash flow from each investment. The 8 d variables use the PsiBinomial distribution to model the investments chance of success which will be 0 or 100%.",
29
- "c": {
30
- "comment": "Creates the C array of size 8. Notice that the elements of the c array are different distributions. They all use the PsiTriangular distribution but each has it's own unique parameters.",
31
- "dimensions": [ 8 ]
32
- },
33
- "c[1]": {
34
- "comment": "Uses the PsiTriangular distribution to model the expected cash flow for investment project #1.",
35
- "formula": "PsiTriangular(400000, 500000, 900000)"
36
- },
37
- "c[2]": {
38
- "comment": "Uses the PsiTriangular distribution to model the expected cash flow for investment project #2.",
39
- "formula": "PsiTriangular(500000, 750000, 1250000)"
40
- },
41
- "c[3]": {
42
- "comment": "Uses the PsiTriangular distribution to model the expected cash flow for investment project #3.",
43
- "formula": "PsiTriangular(500000, 1000000,1500000)"
44
- },
45
- "c[4]": {
46
- "comment": "Uses the PsiTriangular distribution to model the expected cash flow for investment project #4.",
47
- "formula": "PsiTriangular(400000, 600000, 900000)"
48
- },
49
- "c[5]": {
50
- "comment": "Uses the PsiTriangular distribution to model the expected cash flow for investment project #5.",
51
- "formula": "PsiTriangular(250000, 500000, 750000)"
52
- },
53
- "c[6]": {
54
- "comment": "Uses the PsiTriangular distribution to model the expected cash flow for investment project #6.",
55
- "formula": "PsiTriangular(300000, 500000, 600000)"
56
- },
57
- "c[7]": {
58
- "comment": "Uses the PsiTriangular distribution to model the expected cash flow for investment project #7.",
59
- "formula": "PsiTriangular(200000, 450000, 700000)"
60
- },
61
- "c[8]": {
62
- "comment": "Uses the PsiTriangular distribution to model the expected cash flow for investment project #8.",
63
- "formula": "PsiTriangular(400000, 500000, 700000)"
64
- },
65
- "d": {
66
- "comment": "Creates the d array of size 8. This array contains the uncertain variables that model each project's success. Since each element is the same, all can be supplied at one time using the formula property.",
67
- "dimensions": [ 8 ],
68
- "formula": "PsiBinomial(1, 0.9)"
69
- }
70
- },
71
- "data": {
72
- "comment": "Use the data section to organize your constant data parameters.",
73
- "f": {
74
- "comment": "These are the initial investments for each of the 8 prospective projects.",
75
- "value": [ 325000, 450000, 550000, 300000, 150000, 250000, 150000, 325000 ]
76
- }
77
- },
78
- "formulas": {
79
- "comment": "Use the formulas section to organize your intermediate calculations for use in the constraints or objective function.",
80
- "cash": {
81
- "comment": "Calculates the expected cash flow from each project. For example cash[1] = (c[1] * d[1] - 325000) * x[1] This formula will be maximized in the objective fuction below.",
82
- "formula": "sumproduct(c * d - f, x)"
83
- }
84
- },
85
- "constraints": {
86
- "comment": "These are the constraints in the model. There is only 1. This constraint ensures that the budget of $1.5M is not exceeded by multiplying the initial investment by the decision variables or 325000 * x[1] + 450000 * x[2] + etc.",
87
- "invest": {
88
- "formula": "sumproduct(f, x)",
89
- "upper": 1500000
90
- }
91
- },
92
- "objective": {
93
- "comment": "The objective is maximizing the expected value of the cash flow, which is calculated as 'cash' in the formulas section. Since the finalValue property is present, the final value of the objective will be present in the results. The property 'chanceType' sets the objective to the expected value. This is required since this model contains uncertainty. ",
94
- "totalObjective": {
95
- "type": "maximize",
96
- "formula": "cash",
97
- "chanceType": "ExpVal",
98
- "finalValue": []
99
- }
100
- }
101
- },
102
- "simStage": {
103
- "comment": "This stage receives the final variable values from the first stage and then runs a simulation.",
104
- "modelName": "simModel",
105
- "inputParameters": {
106
- "comment": "The final decision variables from the optimization (1st) stage, are used as input parameters to this stage.",
107
- "x": {
108
- "value": "optStage.x.finalValue"
109
- }
110
- },
111
- "uncertainVariables": {
112
- "comment": "These are the same uncertain variables from the optimization (1st) stage. ",
113
- "c": {
114
- "dimensions": [ 8 ]
115
- },
116
- "c[1]": {
117
- "formula": "PsiTriangular(400000, 500000, 900000)"
118
- },
119
- "c[2]": {
120
- "formula": "PsiTriangular(500000, 750000, 1250000)"
121
- },
122
- "c[3]": {
123
- "formula": "PsiTriangular(500000, 1000000,1500000)"
124
- },
125
- "c[4]": {
126
- "formula": "PsiTriangular(400000, 600000, 900000)"
127
- },
128
- "c[5]": {
129
- "formula": "PsiTriangular(250000, 500000, 750000)"
130
- },
131
- "c[6]": {
132
- "formula": "PsiTriangular(300000, 500000, 600000)"
133
- },
134
- "c[7]": {
135
- "formula": "PsiTriangular(200000, 450000, 700000)"
136
- },
137
- "c[8]": {
138
- "formula": "PsiTriangular(400000, 500000, 700000)"
139
- },
140
- "d": {
141
- "dimensions": [ 8 ],
142
- "formula": "PsiBinomial(1, 0.9)",
143
- "mean": []
144
- }
145
- },
146
- "data": {
147
- "comment": "These are the initial investment values from the 1st stage.",
148
- "f": {
149
- "value": [ 325000, 450000, 550000, 300000, 150000, 250000, 150000, 325000 ]
150
- }
151
- },
152
- "uncertainFunctions": {
153
- "cash": {
154
- "comment": "This is the same cash formula as calculated in the optimization (1st) stage. ",
155
- "formula": "sumproduct(c * d - f, x)",
156
- "mean": []
157
- }
158
- }
159
- }
1
+ {
2
+ "flowName": "optSimWorkflow",
3
+ "flowDescription": "This decision flow is made up of two stages, an optimization stage and a simulation stage. \nThe optimization stage solves an optimization model that selects an optimal mix of capital improvement projects. Afterwards, the simulation stage then runs a simulation. To view the contents of the decision flow, click the Show RASON Editor icon on the top right of the Editor grid. \nTo run, simply POST the model by clicking the POST icon (cloud icon), then solve the flow by clicking the down arrow next to the play button icon and select Solve. Click Help on the RASON ribbon for more information on posting and solving RASON Decision Flows.",
4
+ "modelType": "flow",
5
+ "optStage": {
6
+ "comment": "The first stage solves a stochastic optimization model similiar to the ProjectSelect example under Examples - Optimization - Optimization with Uncertainty. Recall that the goal in this example is to select from 8 investment projects that will maximize the expected cash flow subject to a budget constraint of $1.5M. This stage transforms the stochastic model (model containing uncertainty) into a linear model using the robustCounterpart method.",
7
+ "modelName": "optModel",
8
+ "modelSettings": {
9
+ "comment": "Use 'transformStochastic':'robustCounterpart' to determine if an attempt is made to transform your optimization model with uncertainty into a conventional optimization model without uncertainty: either the Deterministic Equivalent model (as used in stochastic linear programming), or a Robust Counterpart model (as used in robust optimization). The result of a successful transformation is a conventional linear programming model, but with considerably more decision variables and constraints than the original model. For more information on this option, see the RASON Reference Guide downloadable by clicking the Help tab on the RASON ribbon. The option 'numTrials' sets the number of trials to 100.",
10
+ "transformStochastic": "robustCounterpart",
11
+ "numTrials": 100
12
+ },
13
+ "engineSettings": {
14
+ "comment": "Setting the random number seed to a nonzero value (any number of your choice is OK) ensures that the same sequence of random numbers is used for each simulation. When the seed is zero, the random number generator is initialized from the system clock, so the sequence of random numbers will be different in each simulation. If you need the results from one simulation to another to be strictly comparable, you should set the seed. You can specify a random seed for each uncertain variable if you wish (in the uncertainVariables section) by including the PsiSeed() property function as an argument to the PSI Distribution function formula for that variable. The seed value you set using the model option randomSeed affects only uncertain variables that do not have PsiSeed() property functions.",
15
+ "randomSeed": 1
16
+ },
17
+ "variables": {
18
+ "comment": "These are the decision variables in the model. There are 8 as given by the dimensions property. The type property sets all 8 variables to binary or 0,1 variables. Each variable represents an investment project. A 1 will indicate if that investment should be selected while 0 indicates that the investment should not be selected. The variable initial values, final values and dual values will be returned in the results due to the presence of the three properties, initalValue, finalValue and dualValue, respectively.",
19
+ "x": {
20
+ "dimensions": [ 8 ],
21
+ "type": "binary",
22
+ "initialValue": [],
23
+ "finalValue": [],
24
+ "dualValue": []
25
+ }
26
+ },
27
+ "uncertainVariables": {
28
+ "comment": "These are the uncertain variables in the model. There are 16: 8 C varaibles and 8 d variables. The 8 c variables contain the probable cash flow from each investment. The 8 d variables use the PsiBinomial distribution to model the investments chance of success which will be 0 or 100%.",
29
+ "c": {
30
+ "comment": "Creates the C array of size 8. Notice that the elements of the c array are different distributions. They all use the PsiTriangular distribution but each has it's own unique parameters.",
31
+ "dimensions": [ 8 ]
32
+ },
33
+ "c[1]": {
34
+ "comment": "Uses the PsiTriangular distribution to model the expected cash flow for investment project #1.",
35
+ "formula": "PsiTriangular(400000, 500000, 900000)"
36
+ },
37
+ "c[2]": {
38
+ "comment": "Uses the PsiTriangular distribution to model the expected cash flow for investment project #2.",
39
+ "formula": "PsiTriangular(500000, 750000, 1250000)"
40
+ },
41
+ "c[3]": {
42
+ "comment": "Uses the PsiTriangular distribution to model the expected cash flow for investment project #3.",
43
+ "formula": "PsiTriangular(500000, 1000000,1500000)"
44
+ },
45
+ "c[4]": {
46
+ "comment": "Uses the PsiTriangular distribution to model the expected cash flow for investment project #4.",
47
+ "formula": "PsiTriangular(400000, 600000, 900000)"
48
+ },
49
+ "c[5]": {
50
+ "comment": "Uses the PsiTriangular distribution to model the expected cash flow for investment project #5.",
51
+ "formula": "PsiTriangular(250000, 500000, 750000)"
52
+ },
53
+ "c[6]": {
54
+ "comment": "Uses the PsiTriangular distribution to model the expected cash flow for investment project #6.",
55
+ "formula": "PsiTriangular(300000, 500000, 600000)"
56
+ },
57
+ "c[7]": {
58
+ "comment": "Uses the PsiTriangular distribution to model the expected cash flow for investment project #7.",
59
+ "formula": "PsiTriangular(200000, 450000, 700000)"
60
+ },
61
+ "c[8]": {
62
+ "comment": "Uses the PsiTriangular distribution to model the expected cash flow for investment project #8.",
63
+ "formula": "PsiTriangular(400000, 500000, 700000)"
64
+ },
65
+ "d": {
66
+ "comment": "Creates the d array of size 8. This array contains the uncertain variables that model each project's success. Since each element is the same, all can be supplied at one time using the formula property.",
67
+ "dimensions": [ 8 ],
68
+ "formula": "PsiBinomial(1, 0.9)"
69
+ }
70
+ },
71
+ "data": {
72
+ "comment": "Use the data section to organize your constant data parameters.",
73
+ "f": {
74
+ "comment": "These are the initial investments for each of the 8 prospective projects.",
75
+ "value": [ 325000, 450000, 550000, 300000, 150000, 250000, 150000, 325000 ]
76
+ }
77
+ },
78
+ "formulas": {
79
+ "comment": "Use the formulas section to organize your intermediate calculations for use in the constraints or objective function.",
80
+ "cash": {
81
+ "comment": "Calculates the expected cash flow from each project. For example cash[1] = (c[1] * d[1] - 325000) * x[1] This formula will be maximized in the objective fuction below.",
82
+ "formula": "sumproduct(c * d - f, x)"
83
+ }
84
+ },
85
+ "constraints": {
86
+ "comment": "These are the constraints in the model. There is only 1. This constraint ensures that the budget of $1.5M is not exceeded by multiplying the initial investment by the decision variables or 325000 * x[1] + 450000 * x[2] + etc.",
87
+ "invest": {
88
+ "formula": "sumproduct(f, x)",
89
+ "upper": 1500000
90
+ }
91
+ },
92
+ "objective": {
93
+ "comment": "The objective is maximizing the expected value of the cash flow, which is calculated as 'cash' in the formulas section. Since the finalValue property is present, the final value of the objective will be present in the results. The property 'chanceType' sets the objective to the expected value. This is required since this model contains uncertainty. ",
94
+ "totalObjective": {
95
+ "type": "maximize",
96
+ "formula": "cash",
97
+ "chanceType": "ExpVal",
98
+ "finalValue": []
99
+ }
100
+ }
101
+ },
102
+ "simStage": {
103
+ "comment": "This stage receives the final variable values from the first stage and then runs a simulation.",
104
+ "modelName": "simModel",
105
+ "inputParameters": {
106
+ "comment": "The final decision variables from the optimization (1st) stage, are used as input parameters to this stage.",
107
+ "x": {
108
+ "value": "optStage.x.finalValue"
109
+ }
110
+ },
111
+ "uncertainVariables": {
112
+ "comment": "These are the same uncertain variables from the optimization (1st) stage. ",
113
+ "c": {
114
+ "dimensions": [ 8 ]
115
+ },
116
+ "c[1]": {
117
+ "formula": "PsiTriangular(400000, 500000, 900000)"
118
+ },
119
+ "c[2]": {
120
+ "formula": "PsiTriangular(500000, 750000, 1250000)"
121
+ },
122
+ "c[3]": {
123
+ "formula": "PsiTriangular(500000, 1000000,1500000)"
124
+ },
125
+ "c[4]": {
126
+ "formula": "PsiTriangular(400000, 600000, 900000)"
127
+ },
128
+ "c[5]": {
129
+ "formula": "PsiTriangular(250000, 500000, 750000)"
130
+ },
131
+ "c[6]": {
132
+ "formula": "PsiTriangular(300000, 500000, 600000)"
133
+ },
134
+ "c[7]": {
135
+ "formula": "PsiTriangular(200000, 450000, 700000)"
136
+ },
137
+ "c[8]": {
138
+ "formula": "PsiTriangular(400000, 500000, 700000)"
139
+ },
140
+ "d": {
141
+ "dimensions": [ 8 ],
142
+ "formula": "PsiBinomial(1, 0.9)",
143
+ "mean": []
144
+ }
145
+ },
146
+ "data": {
147
+ "comment": "These are the initial investment values from the 1st stage.",
148
+ "f": {
149
+ "value": [ 325000, 450000, 550000, 300000, 150000, 250000, 150000, 325000 ]
150
+ }
151
+ },
152
+ "uncertainFunctions": {
153
+ "cash": {
154
+ "comment": "This is the same cash formula as calculated in the optimization (1st) stage. ",
155
+ "formula": "sumproduct(c * d - f, x)",
156
+ "mean": []
157
+ }
158
+ }
159
+ }
160
160
  }