@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,106 +1,106 @@
|
|
|
1
|
-
{
|
|
2
|
-
"modelName": "productMixCSV2Example",
|
|
3
|
-
"modelDescription": "Product Mix CSV2 RASON Optimization Example: This example uses CSV table binding to import parameter values and export (save) results. Notice that in this example, the x array within Variables, includes the indexCols property. Recall that the Product Mix example finds the optimal product mix that a company should manufacture in order to maximize gross profit.",
|
|
4
|
-
"modelType": "optimization",
|
|
5
|
-
"datasources": {
|
|
6
|
-
"comment": "There are 6 datasources (parts_data, invent_data, profit_data, vars_data, fcns_data and obj_data) that will either import data, export data or both. Download all 6 data source files by clicking the download icon on the Editor tab ribbon. Then attach all 6 files by clicking Choose Files in the Properties tab (to the right), navigating to the location of the saved files, and clicking Open. The index columns are specified using 'indexCols'. The value column is specified using 'valueCols'. All files are of type CSV. See the RASON User Guide for a complete list of supported file types. 'Direction' specifies if this is an import or export. Note that the valueCols property must always follow the indexCols property.",
|
|
7
|
-
"parts_data": {
|
|
8
|
-
"comment": "This data source pulls data from the ProductMixParts.txt file. This data source file contains two indices, 'parts' and 'prods'. The column 'qty' contains the number of parts required to produce each product. Since we are reading data from this source, the direction is 'import'.",
|
|
9
|
-
"type": "csv",
|
|
10
|
-
"connection": "ProductMixParts.txt",
|
|
11
|
-
"indexCols": [ "parts", "prods" ],
|
|
12
|
-
"valueCols": [ "qty" ],
|
|
13
|
-
"direction": "import"
|
|
14
|
-
},
|
|
15
|
-
"invent_data": {
|
|
16
|
-
"comment": "This data source pulls data from the ProductMixInventory.txt file. This data source file contains one index, 'parts'. The column 'inventory' contains the number of parts in inventory. Since we are reading data from this source, the direction is 'import'.",
|
|
17
|
-
"type": "csv",
|
|
18
|
-
"connection": "ProductMixInventory.txt",
|
|
19
|
-
"indexCols": [ "parts" ],
|
|
20
|
-
"valueCols": [ "inventory" ],
|
|
21
|
-
"direction": "import"
|
|
22
|
-
},
|
|
23
|
-
"profit_data": {
|
|
24
|
-
"comment": "This data source pulls data from the ProductMixProfits.txt file. This data source contains one index, 'prods'. The profit per unit for each product produced is in the 'profits' col. Since we are reading data from this source, the direction is 'import'.",
|
|
25
|
-
"type": "csv",
|
|
26
|
-
"connection": "ProductMixProfits.txt",
|
|
27
|
-
"indexCols": [ "prods" ],
|
|
28
|
-
"valueCols": [ "profits" ],
|
|
29
|
-
"direction": "import"
|
|
30
|
-
},
|
|
31
|
-
"vars_data": {
|
|
32
|
-
"comment": "This data source pulls data from the ResultVarsInit.txt file. This data source contains one index, 'prods'. The initial value for each variable is listed under 'initials'. Since we are reading the initial variable values and also saving the final values to this source, the direction is 'import/export'. Note that the indexCols/valueCols properties are missing. In this case, RASON assumes the last column in table.",
|
|
33
|
-
"type": "csv",
|
|
34
|
-
"connection": "ResultVarsInit.txt",
|
|
35
|
-
"direction": "import/export"
|
|
36
|
-
},
|
|
37
|
-
"fcns_data": {
|
|
38
|
-
"comment": "Final constraint values will be exported, or saved, to the file, ResultFcns.txt. Since this file is used for export only, there is no need to attach this file to the model using Choose Files...",
|
|
39
|
-
"type": "csv",
|
|
40
|
-
"connection": "ResultFcns.txt",
|
|
41
|
-
"direction": "export"
|
|
42
|
-
},
|
|
43
|
-
"obj_data": {
|
|
44
|
-
"comment": "The final objective value will be exported, or saved, to the file, ResultObj.txt. Since this file is used for export only, there is no need to attach this file to the model using Choose Files...",
|
|
45
|
-
"type": "csv",
|
|
46
|
-
"connection": "ResultObj.txt",
|
|
47
|
-
"direction": "export"
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
"data": [
|
|
51
|
-
{
|
|
52
|
-
"comment": "Binds the 'parts_data' data source to 'parts2' data array.",
|
|
53
|
-
"name": "parts2",
|
|
54
|
-
"binding": "parts_data",
|
|
55
|
-
"valueCol": "qty"
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"comment": "Binds the 'invent_data' data source to 'invent' data array.",
|
|
59
|
-
"name": "invent",
|
|
60
|
-
"binding": "invent_data",
|
|
61
|
-
"valueCol": "inventory"
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"comment": "Binds the 'profit_data' data source to 'profit' data array.",
|
|
65
|
-
"name": "profit",
|
|
66
|
-
"binding": "profit_data",
|
|
67
|
-
"valueCol": "profits"
|
|
68
|
-
}
|
|
69
|
-
],
|
|
70
|
-
"formulas": [
|
|
71
|
-
{
|
|
72
|
-
"comment": "Constructs a pivot table, piv_parts, using the Excel function, PIVOT, using data from the parts2 data array.",
|
|
73
|
-
"name": "piv_parts",
|
|
74
|
-
"formula": "PIVOT(parts2, { 'prods' }, { 'parts' })"
|
|
75
|
-
}
|
|
76
|
-
],
|
|
77
|
-
"variables": {
|
|
78
|
-
"comment": "Creates the 'x' variable array from the 'vars_data' datasource. The initial variable values are set to the values listed in the 'initials' column in the data source. The final variable values will be exported back to this file after the solve is complete. Note that in this example, the indexCols property is specified, 'prods', whereas in ProductMixCSV1, this property was omitted.",
|
|
79
|
-
"name": "x",
|
|
80
|
-
"indexCols": [ "prods" ],
|
|
81
|
-
"value": 0,
|
|
82
|
-
"lower": 0,
|
|
83
|
-
"binding": "vars_data",
|
|
84
|
-
"finalValue": []
|
|
85
|
-
},
|
|
86
|
-
"constraints": [
|
|
87
|
-
{
|
|
88
|
-
"comment": "5 constraints limiting the number of parts used by the number of parts in inventory. The result of the Excel MMULT function generates 5 constraints with right hand sides pulled from the invent data array. The final constraint values will be exported back to the fcns_data data source, ultimately ResultFcns.txt.",
|
|
89
|
-
"name": "c",
|
|
90
|
-
"dimensions": [ "parts" ],
|
|
91
|
-
"formula": "MMULT(piv_parts, x)",
|
|
92
|
-
"upper": "invent",
|
|
93
|
-
"binding": "fcns_data",
|
|
94
|
-
"finalValue": []
|
|
95
|
-
}
|
|
96
|
-
],
|
|
97
|
-
"objective": {
|
|
98
|
-
"comment": "Calculates the objective function by multiplying the number of products produced (the variables in the x array) by the profit per unit values from the profit data array imported from the obj_data data source. The final objective value will be exported back to the obj_data data source, ultimately ResultObj.txt.",
|
|
99
|
-
"name": "total",
|
|
100
|
-
"formula": "sumproduct(x, profit)",
|
|
101
|
-
"type": "maximize",
|
|
102
|
-
"binding": "obj_data",
|
|
103
|
-
"finalValue": []
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
1
|
+
{
|
|
2
|
+
"modelName": "productMixCSV2Example",
|
|
3
|
+
"modelDescription": "Product Mix CSV2 RASON Optimization Example: This example uses CSV table binding to import parameter values and export (save) results. Notice that in this example, the x array within Variables, includes the indexCols property. Recall that the Product Mix example finds the optimal product mix that a company should manufacture in order to maximize gross profit.",
|
|
4
|
+
"modelType": "optimization",
|
|
5
|
+
"datasources": {
|
|
6
|
+
"comment": "There are 6 datasources (parts_data, invent_data, profit_data, vars_data, fcns_data and obj_data) that will either import data, export data or both. Download all 6 data source files by clicking the download icon on the Editor tab ribbon. Then attach all 6 files by clicking Choose Files in the Properties tab (to the right), navigating to the location of the saved files, and clicking Open. The index columns are specified using 'indexCols'. The value column is specified using 'valueCols'. All files are of type CSV. See the RASON User Guide for a complete list of supported file types. 'Direction' specifies if this is an import or export. Note that the valueCols property must always follow the indexCols property.",
|
|
7
|
+
"parts_data": {
|
|
8
|
+
"comment": "This data source pulls data from the ProductMixParts.txt file. This data source file contains two indices, 'parts' and 'prods'. The column 'qty' contains the number of parts required to produce each product. Since we are reading data from this source, the direction is 'import'.",
|
|
9
|
+
"type": "csv",
|
|
10
|
+
"connection": "ProductMixParts.txt",
|
|
11
|
+
"indexCols": [ "parts", "prods" ],
|
|
12
|
+
"valueCols": [ "qty" ],
|
|
13
|
+
"direction": "import"
|
|
14
|
+
},
|
|
15
|
+
"invent_data": {
|
|
16
|
+
"comment": "This data source pulls data from the ProductMixInventory.txt file. This data source file contains one index, 'parts'. The column 'inventory' contains the number of parts in inventory. Since we are reading data from this source, the direction is 'import'.",
|
|
17
|
+
"type": "csv",
|
|
18
|
+
"connection": "ProductMixInventory.txt",
|
|
19
|
+
"indexCols": [ "parts" ],
|
|
20
|
+
"valueCols": [ "inventory" ],
|
|
21
|
+
"direction": "import"
|
|
22
|
+
},
|
|
23
|
+
"profit_data": {
|
|
24
|
+
"comment": "This data source pulls data from the ProductMixProfits.txt file. This data source contains one index, 'prods'. The profit per unit for each product produced is in the 'profits' col. Since we are reading data from this source, the direction is 'import'.",
|
|
25
|
+
"type": "csv",
|
|
26
|
+
"connection": "ProductMixProfits.txt",
|
|
27
|
+
"indexCols": [ "prods" ],
|
|
28
|
+
"valueCols": [ "profits" ],
|
|
29
|
+
"direction": "import"
|
|
30
|
+
},
|
|
31
|
+
"vars_data": {
|
|
32
|
+
"comment": "This data source pulls data from the ResultVarsInit.txt file. This data source contains one index, 'prods'. The initial value for each variable is listed under 'initials'. Since we are reading the initial variable values and also saving the final values to this source, the direction is 'import/export'. Note that the indexCols/valueCols properties are missing. In this case, RASON assumes the last column in table.",
|
|
33
|
+
"type": "csv",
|
|
34
|
+
"connection": "ResultVarsInit.txt",
|
|
35
|
+
"direction": "import/export"
|
|
36
|
+
},
|
|
37
|
+
"fcns_data": {
|
|
38
|
+
"comment": "Final constraint values will be exported, or saved, to the file, ResultFcns.txt. Since this file is used for export only, there is no need to attach this file to the model using Choose Files...",
|
|
39
|
+
"type": "csv",
|
|
40
|
+
"connection": "ResultFcns.txt",
|
|
41
|
+
"direction": "export"
|
|
42
|
+
},
|
|
43
|
+
"obj_data": {
|
|
44
|
+
"comment": "The final objective value will be exported, or saved, to the file, ResultObj.txt. Since this file is used for export only, there is no need to attach this file to the model using Choose Files...",
|
|
45
|
+
"type": "csv",
|
|
46
|
+
"connection": "ResultObj.txt",
|
|
47
|
+
"direction": "export"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"data": [
|
|
51
|
+
{
|
|
52
|
+
"comment": "Binds the 'parts_data' data source to 'parts2' data array.",
|
|
53
|
+
"name": "parts2",
|
|
54
|
+
"binding": "parts_data",
|
|
55
|
+
"valueCol": "qty"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"comment": "Binds the 'invent_data' data source to 'invent' data array.",
|
|
59
|
+
"name": "invent",
|
|
60
|
+
"binding": "invent_data",
|
|
61
|
+
"valueCol": "inventory"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"comment": "Binds the 'profit_data' data source to 'profit' data array.",
|
|
65
|
+
"name": "profit",
|
|
66
|
+
"binding": "profit_data",
|
|
67
|
+
"valueCol": "profits"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"formulas": [
|
|
71
|
+
{
|
|
72
|
+
"comment": "Constructs a pivot table, piv_parts, using the Excel function, PIVOT, using data from the parts2 data array.",
|
|
73
|
+
"name": "piv_parts",
|
|
74
|
+
"formula": "PIVOT(parts2, { 'prods' }, { 'parts' })"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"variables": {
|
|
78
|
+
"comment": "Creates the 'x' variable array from the 'vars_data' datasource. The initial variable values are set to the values listed in the 'initials' column in the data source. The final variable values will be exported back to this file after the solve is complete. Note that in this example, the indexCols property is specified, 'prods', whereas in ProductMixCSV1, this property was omitted.",
|
|
79
|
+
"name": "x",
|
|
80
|
+
"indexCols": [ "prods" ],
|
|
81
|
+
"value": 0,
|
|
82
|
+
"lower": 0,
|
|
83
|
+
"binding": "vars_data",
|
|
84
|
+
"finalValue": []
|
|
85
|
+
},
|
|
86
|
+
"constraints": [
|
|
87
|
+
{
|
|
88
|
+
"comment": "5 constraints limiting the number of parts used by the number of parts in inventory. The result of the Excel MMULT function generates 5 constraints with right hand sides pulled from the invent data array. The final constraint values will be exported back to the fcns_data data source, ultimately ResultFcns.txt.",
|
|
89
|
+
"name": "c",
|
|
90
|
+
"dimensions": [ "parts" ],
|
|
91
|
+
"formula": "MMULT(piv_parts, x)",
|
|
92
|
+
"upper": "invent",
|
|
93
|
+
"binding": "fcns_data",
|
|
94
|
+
"finalValue": []
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"objective": {
|
|
98
|
+
"comment": "Calculates the objective function by multiplying the number of products produced (the variables in the x array) by the profit per unit values from the profit data array imported from the obj_data data source. The final objective value will be exported back to the obj_data data source, ultimately ResultObj.txt.",
|
|
99
|
+
"name": "total",
|
|
100
|
+
"formula": "sumproduct(x, profit)",
|
|
101
|
+
"type": "maximize",
|
|
102
|
+
"binding": "obj_data",
|
|
103
|
+
"finalValue": []
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
{
|
|
2
|
-
"modelName": "productMixSQL11Example",
|
|
3
|
-
"modelDescription": "Product Mix SQL RASON Optimization Example: This example illustrates how to import data from an SQL table using the Product Mix example. Recall that the Product Mix example finds the optimal product mix that a company should manufacture in order to maximize gross profit.",
|
|
4
|
-
"modelType": "optimization",
|
|
5
|
-
"datasources": {
|
|
6
|
-
"comment": "This example import data from three datasources: parts_data, invent_data and profit_data. The 'type' property specifies the file type. See the RASON User Guide for a list of all supported data types. The 'connection' property passes the SQL database credentials. Note that the SQL database could also be added as a Data Connection which allows SQL credentials to be entered in a secure location and out of the code. See Data Connections within the RASON User Guide for more information. The 'selection' property selects the data columns in the SQL database, 'indexCols' selects the indices for the data, 'valueCols' selects the column containing the data values and 'direction' specifies whether the data will be imported or exported. Note that the valueCols property must follow the indexCols property",
|
|
7
|
-
"parts_data": {
|
|
8
|
-
"type": "odbc",
|
|
9
|
-
"connection": "Driver={SQL Server};Server=tcp:solver.database.windows.net,1433;Database=Rason;Uid=rasonread;Pwd=Rason1234;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;",
|
|
10
|
-
"selection": "SELECT Parts as parts, Products as prods, Qty as qty FROM Parts ORDER BY ID",
|
|
11
|
-
"indexCols": [ "parts", "prods" ],
|
|
12
|
-
"valueCols": [ "qty" ],
|
|
13
|
-
"direction": "import"
|
|
14
|
-
},
|
|
15
|
-
"invent_data": {
|
|
16
|
-
"type": "odbc",
|
|
17
|
-
"connection": "Driver={SQL Server};Server=tcp:solver.database.windows.net,1433;Database=Rason;Uid=rasonread;Pwd=Rason1234;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;",
|
|
18
|
-
"selection": "SELECT Parts as parts, Inventory as inventory FROM Inventory ORDER BY ID",
|
|
19
|
-
"indexCols": [ "parts" ],
|
|
20
|
-
"valueCols": [ "inventory" ],
|
|
21
|
-
"direction": "import"
|
|
22
|
-
},
|
|
23
|
-
"profit_data": {
|
|
24
|
-
"type": "odbc",
|
|
25
|
-
"connection": "Driver={SQL Server};Server=tcp:solver.database.windows.net,1433;Database=Rason;Uid=rasonread;Pwd=Rason1234;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;",
|
|
26
|
-
"selection": "SELECT Products as prods, Profit as profit FROM Profits ORDER BY ID",
|
|
27
|
-
"indexCols": [ "prods" ],
|
|
28
|
-
"valueCols": [ "profit" ],
|
|
29
|
-
"direction": "import"
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
"data": [
|
|
33
|
-
{
|
|
34
|
-
"comment": "Binds the 'profit_data' data source to 'profit' data array. Note that the valueCol property is missing. In this case, RASON assumes the last column in the table.",
|
|
35
|
-
"name": "profit",
|
|
36
|
-
"binding": "profit_data"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"comment": "Binds the 'invent_data' data source to 'invent' data array. Note that since the valueCol property is missing, RASON assumes the last column in the table.",
|
|
40
|
-
"name": "invent",
|
|
41
|
-
"binding": "invent_data"
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"comment": "Binds the 'parts_data' data source to 'parts2' data array. Note that since the valueCol property is missing, RASON assumes the last column in the table.",
|
|
45
|
-
"name": "parts2",
|
|
46
|
-
"binding": "parts_data"
|
|
47
|
-
}
|
|
48
|
-
],
|
|
49
|
-
"formulas": [
|
|
50
|
-
{
|
|
51
|
-
"comment": "Constructs a pivot table, piv_parts, using the Excel function, PIVOT, using data from the parts2 data array.",
|
|
52
|
-
"name": "piv_parts",
|
|
53
|
-
"formula": "PIVOT(parts2, { 'prods' }, { 'parts' })"
|
|
54
|
-
}
|
|
55
|
-
],
|
|
56
|
-
"variables": {
|
|
57
|
-
"comment": "Creates the 'x' variable array of size 'prods', or 3. The initial variable values are set to the values listed in the 'value' column, or 0. The final variable values will be returned in the result because of presence of the keyword finalValue, but will not be exported to a file since no 'binding' keyword is present.",
|
|
58
|
-
"name": "x",
|
|
59
|
-
"dimensions": [ "prods" ],
|
|
60
|
-
"value": 0,
|
|
61
|
-
"lower": 0,
|
|
62
|
-
"finalValue": []
|
|
63
|
-
},
|
|
64
|
-
"constraints": [
|
|
65
|
-
{
|
|
66
|
-
"comment": "5 constraints limiting the number of parts used by the number of parts in inventory. The result of the Excel MMULT function generates 5 constraints with right hand sides pulled from the 'invent' data array. The final constraint values will be returned in the results due to the presence of the finalValue keyword, but will not be exported since no 'binding' property is present.",
|
|
67
|
-
"name": "c",
|
|
68
|
-
"dimensions": [ "parts" ],
|
|
69
|
-
"formula": "MMULT(piv_parts, x)",
|
|
70
|
-
"upper": "invent",
|
|
71
|
-
"finalValue": []
|
|
72
|
-
}
|
|
73
|
-
],
|
|
74
|
-
"objective": {
|
|
75
|
-
"comment": "Calculates the objective function by multiplying the number of products produced (the variables in the x array) by the profit per unit values from the profit data array imported from the profit_data data source. The final objective value will be returned in the result due to the presence of the finalValue keyword.",
|
|
76
|
-
|
|
77
|
-
"name": "total",
|
|
78
|
-
"formula": "sumproduct(x, profit)",
|
|
79
|
-
"type": "maximize",
|
|
80
|
-
"finalValue": []
|
|
81
|
-
}
|
|
82
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"modelName": "productMixSQL11Example",
|
|
3
|
+
"modelDescription": "Product Mix SQL RASON Optimization Example: This example illustrates how to import data from an SQL table using the Product Mix example. Recall that the Product Mix example finds the optimal product mix that a company should manufacture in order to maximize gross profit.",
|
|
4
|
+
"modelType": "optimization",
|
|
5
|
+
"datasources": {
|
|
6
|
+
"comment": "This example import data from three datasources: parts_data, invent_data and profit_data. The 'type' property specifies the file type. See the RASON User Guide for a list of all supported data types. The 'connection' property passes the SQL database credentials. Note that the SQL database could also be added as a Data Connection which allows SQL credentials to be entered in a secure location and out of the code. See Data Connections within the RASON User Guide for more information. The 'selection' property selects the data columns in the SQL database, 'indexCols' selects the indices for the data, 'valueCols' selects the column containing the data values and 'direction' specifies whether the data will be imported or exported. Note that the valueCols property must follow the indexCols property",
|
|
7
|
+
"parts_data": {
|
|
8
|
+
"type": "odbc",
|
|
9
|
+
"connection": "Driver={SQL Server};Server=tcp:solver.database.windows.net,1433;Database=Rason;Uid=rasonread;Pwd=Rason1234;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;",
|
|
10
|
+
"selection": "SELECT Parts as parts, Products as prods, Qty as qty FROM Parts ORDER BY ID",
|
|
11
|
+
"indexCols": [ "parts", "prods" ],
|
|
12
|
+
"valueCols": [ "qty" ],
|
|
13
|
+
"direction": "import"
|
|
14
|
+
},
|
|
15
|
+
"invent_data": {
|
|
16
|
+
"type": "odbc",
|
|
17
|
+
"connection": "Driver={SQL Server};Server=tcp:solver.database.windows.net,1433;Database=Rason;Uid=rasonread;Pwd=Rason1234;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;",
|
|
18
|
+
"selection": "SELECT Parts as parts, Inventory as inventory FROM Inventory ORDER BY ID",
|
|
19
|
+
"indexCols": [ "parts" ],
|
|
20
|
+
"valueCols": [ "inventory" ],
|
|
21
|
+
"direction": "import"
|
|
22
|
+
},
|
|
23
|
+
"profit_data": {
|
|
24
|
+
"type": "odbc",
|
|
25
|
+
"connection": "Driver={SQL Server};Server=tcp:solver.database.windows.net,1433;Database=Rason;Uid=rasonread;Pwd=Rason1234;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;",
|
|
26
|
+
"selection": "SELECT Products as prods, Profit as profit FROM Profits ORDER BY ID",
|
|
27
|
+
"indexCols": [ "prods" ],
|
|
28
|
+
"valueCols": [ "profit" ],
|
|
29
|
+
"direction": "import"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"data": [
|
|
33
|
+
{
|
|
34
|
+
"comment": "Binds the 'profit_data' data source to 'profit' data array. Note that the valueCol property is missing. In this case, RASON assumes the last column in the table.",
|
|
35
|
+
"name": "profit",
|
|
36
|
+
"binding": "profit_data"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"comment": "Binds the 'invent_data' data source to 'invent' data array. Note that since the valueCol property is missing, RASON assumes the last column in the table.",
|
|
40
|
+
"name": "invent",
|
|
41
|
+
"binding": "invent_data"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"comment": "Binds the 'parts_data' data source to 'parts2' data array. Note that since the valueCol property is missing, RASON assumes the last column in the table.",
|
|
45
|
+
"name": "parts2",
|
|
46
|
+
"binding": "parts_data"
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"formulas": [
|
|
50
|
+
{
|
|
51
|
+
"comment": "Constructs a pivot table, piv_parts, using the Excel function, PIVOT, using data from the parts2 data array.",
|
|
52
|
+
"name": "piv_parts",
|
|
53
|
+
"formula": "PIVOT(parts2, { 'prods' }, { 'parts' })"
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"variables": {
|
|
57
|
+
"comment": "Creates the 'x' variable array of size 'prods', or 3. The initial variable values are set to the values listed in the 'value' column, or 0. The final variable values will be returned in the result because of presence of the keyword finalValue, but will not be exported to a file since no 'binding' keyword is present.",
|
|
58
|
+
"name": "x",
|
|
59
|
+
"dimensions": [ "prods" ],
|
|
60
|
+
"value": 0,
|
|
61
|
+
"lower": 0,
|
|
62
|
+
"finalValue": []
|
|
63
|
+
},
|
|
64
|
+
"constraints": [
|
|
65
|
+
{
|
|
66
|
+
"comment": "5 constraints limiting the number of parts used by the number of parts in inventory. The result of the Excel MMULT function generates 5 constraints with right hand sides pulled from the 'invent' data array. The final constraint values will be returned in the results due to the presence of the finalValue keyword, but will not be exported since no 'binding' property is present.",
|
|
67
|
+
"name": "c",
|
|
68
|
+
"dimensions": [ "parts" ],
|
|
69
|
+
"formula": "MMULT(piv_parts, x)",
|
|
70
|
+
"upper": "invent",
|
|
71
|
+
"finalValue": []
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"objective": {
|
|
75
|
+
"comment": "Calculates the objective function by multiplying the number of products produced (the variables in the x array) by the profit per unit values from the profit data array imported from the profit_data data source. The final objective value will be returned in the result due to the presence of the finalValue keyword.",
|
|
76
|
+
|
|
77
|
+
"name": "total",
|
|
78
|
+
"formula": "sumproduct(x, profit)",
|
|
79
|
+
"type": "maximize",
|
|
80
|
+
"finalValue": []
|
|
81
|
+
}
|
|
82
|
+
}
|