Commit 4b8f4da4 authored by Georgios Dagkakis's avatar Georgios Dagkakis

capacity model that defines wip in the project spreadsheet

parent e897f16f
{
"application_configuration": {
"general": {
"properties": {
"assemblySpace": {
"default": 100,
"description": "Total assembly Space in square meters",
"title": "Assembly Space",
"type": "number"
},
"confidenceLevel": {
"default": 0.95,
"description": "Confidence level for statistical analysis of stochastic experiments",
"title": "Confidence level",
"type": "number"
},
"currentDate": {
"default": "2014/10/01",
"description": "The day the experiment starts, in YYYY/MM/DD format",
"title": "SimulationStartTime",
"type": "string"
},
"ke_url": {
"default": "http: //git.erp5.org/gitweb/dream.git/blob_plain/HEAD: /dream/KnowledgeExtraction/Mockup_Processingtimes.xls",
"description": "The URL for knowledge extraction to access its data for example http: //git.erp5.org/gitweb/dream.git/blob_plain/HEAD: /dream/KnowledgeExtraction/Mockup_Processingtimes.xls",
"title": "URL for Knowledge Extraction Spreadsheet",
"type": "string"
},
"maxSimTime": {
"default": 100,
"description": "Length of the simulation run",
"title": "Length of Experiment",
"type": "number"
},
"numberOfReplications": {
"default": 10,
"description": "Number of replications to run",
"title": "Number of replications",
"type": "integer"
},
"processTimeout": {
"default": 10,
"description": "Number of seconds before the calculation process is interrupted",
"title": "ProcessTimeout",
"type": "number"
},
"seed": {
"default": "1",
"description": "When using the same seed, the random number generator produce the same sequence of numbers",
"title": "Seed for random number generator",
"type": "number"
},
"timeUnit": {
"default": "day",
"description": "Used for input and reporting widgets.",
"enum": [
"minute",
"hour",
"day",
"week",
"month",
"year"
],
"name": "Time unit",
"type": "string"
},
"trace": {
"default": "No",
"description": "Create an excel trace file (Yes or No)",
"enum": [
"No",
"Yes"
],
"title": "OutputTrace",
"type": "string"
}
}
},
"input": {
"debug": {
"gadget": "Input_viewDebugJson",
"title": "Edit Configuration",
"type": "object_view"
},
"view": {
"gadget": "Input_viewProductionLine",
"title": "ProductionLine",
"type": "object_view"
},
"view_available_capacity_spreadsheet": {
"configuration": {
"columns": [
{
"format": "date-time",
"name": "Day",
"type": "string"
},
{
"name": "Station 1 (Rename)",
"type": "string"
},
{
"name": "Station 2 (Rename)",
"type": "string"
}
],
"extend": [
"x",
"y"
],
"handsontable_options": {
"minSpareCols": 1
}
},
"gadget": "Input_viewSpreadsheet",
"title": "Available Capacity Spreadsheet",
"type": "object_view"
},
"view_management": {
"gadget": "Input_viewDocumentManagement",
"title": "Manage document",
"type": "object_view"
},
"view_projects_spreadsheet": {
"configuration": {
"columns": [
{
"name": "Project ID",
"type": "string"
},
{
"format": "date",
"name": "Order Date",
"type": "string"
},
{
"format": "date",
"name": "Due Date",
"type": "string"
},
{
"name": "Assembly Space",
"type": "number"
},
{
"name": "Operation",
"type": "string"
},
{
"name": "Capacity Requirement",
"type": "number"
},
{
"name": "WIP",
"type": "number"
},
{
"format": "date",
"name": "Earliest Start Date",
"type": "string"
}
],
"extend": [
"y"
]
},
"gadget": "Input_viewSpreadsheet",
"title": "Projects Spreadsheet",
"type": "object_view"
},
"view_result": {
"gadget": "Input_viewResultList",
"title": "Results",
"type": "object_view"
},
"view_run_simulation": {
"gadget": "Input_viewSimulation",
"title": "Run Simulation",
"type": "object_view"
}
},
"output": {
"view_project_gantt": {
"configuration": {
"output_id": "capacity_project_gantt"
},
"gadget": "Output_viewGantt",
"title": "Project Schedule",
"type": "object_view"
},
"view_station_gantt": {
"configuration": {
"output_id": "capacity_station_gantt"
},
"gadget": "Output_viewGantt",
"title": "Station Schedule",
"type": "object_view"
},
"view_station_utilization": {
"configuration": {
"output_id": "station_utilization"
},
"gadget": "Output_viewGraph",
"title": "Station Utilization",
"type": "object_view"
}
},
"post_processing": {
"plugin_list": [
{
"_class": "dream.plugins.CapacityStations.CapacityProjectStationUtilization.CapacityProjectStationUtilization",
"family": "CapacityStation",
"output_id": "station_utilization"
},
{
"_class": "dream.plugins.CapacityStations.CapacityProjectGantt.CapacityProjectGantt",
"output_id": "capacity_project_gantt"
},
{
"_class": "dream.plugins.CapacityStations.CapacityStationGantt.CapacityStationGantt",
"output_id": "capacity_station_gantt"
}
]
},
"pre_processing": {
"plugin_list": [
{
"_class": "dream.plugins.CapacityStations.CapacityStationsSetAssemblySpace.CapacityStationsSetAssemblySpace",
"input_id": "assemblySpace"
},
{
"_class": "dream.plugins.CapacityStations.AvailableCapacitySpreadsheet.AvailableCapacitySpreadsheet",
"input_id": "availableCapacity"
},
{
"_class": "dream.plugins.CapacityStations.CapacityProjectSpreadsheet.CapacityProjectSpreadsheet",
"input_id": "capacityProject"
},
{
"_class": "dream.plugins.CapacityStations.CreateCapacityStations.CreateCapacityStations",
"input_id": "createCapacityStations"
},
{
"_class": "dream.plugins.CapacityStations.CapacityStationWIP.CapacityStationWIP",
"input_id": "createCapacityStationWIP"
}
]
},
"processing_plugin": {
"_class": "dream.plugins.plugin.DefaultExecutionPlugin",
"input_id": "Simulation"
}
},
"class_definition": {
"Dream.Edge": {
"_class": "edge",
"allOf": [
{
"$ref": "#/class_defintion/edge"
}
],
"description": "Connect stations together"
},
"definitions": {
"_capacity": {
"default": 1,
"description": "capacity of the queue. -1 means infinite",
"oneOf": [
{
"enum": [
-1
]
},
{
"multipleOf": 1
}
],
"type": "number"
},
"_dist": {
"allOf": [
{
"properties": {
"distribution": {
"default": "Fixed",
"enum": [
"Fixed",
"Exp",
"Normal",
"Lognormal",
"Binomial",
"Poisson",
"Logistic",
"Cauchy",
"Geometric",
"Gama",
"Weibull"
],
"type": "string"
}
},
"type": "object"
},
{
"oneOf": [
{
"$ref": "#/definitions/distributionTypes/_fixed"
},
{
"$ref": "#/definitions/distributionTypes/_exp"
},
{
"$ref": "#/definitions/distributionTypes/_normal"
},
{
"$ref": "#/definitions/distributionTypes/_lognormal"
},
{
"$ref": "#/definitions/distributionTypes/_binomial"
},
{
"$ref": "#/definitions/distributionTypes/_poisson"
},
{
"$ref": "#/definitions/distributionTypes/_logistic"
},
{
"$ref": "#/definitions/distributionTypes/_cauchy"
},
{
"$ref": "#/definitions/distributionTypes/_geometric"
},
{
"$ref": "#/definitions/distributionTypes/_gama"
},
{
"$ref": "#/definitions/distributionTypes/_weibull"
}
]
}
]
},
"_failureDist": {
"allOf": [
{
"properties": {
"failureDistribution": {
"default": "No",
"enum": [
"No",
"Yes"
],
"type": "string"
}
},
"type": "object"
},
{
"oneOf": [
{
"$ref": "#/definitions/distributionTypes/_failure"
},
{
"$ref": "#/definitions/distributionTypes/_no"
}
]
}
]
},
"_operationType": {
"default": "Automatic",
"description": "the type of operations that are performed manually in the machine",
"enum": [
"Automatic",
"Manual"
],
"type": "string"
},
"_schedulingRule": {
"default": "FIFO",
"description": "Scheduling Rule, one of FIFO Priority EDD EOD NumStages RPC LPT SPT MS WINQ",
"enum": [
"FIFO",
"Priority",
"EDD",
"EOD",
"NumStages",
"RPC",
"LPT",
"SPT",
"MS",
"WINQ",
"WT"
],
"type": "string"
},
"distributionTypes": {
"_binomial": {
"description": "Binomial",
"properties": {
"mean": {
"default": 0,
"type": "number"
},
"size": {
"default": 0,
"type": "number"
}
},
"title": "Binomial",
"type": "object"
},
"_cauchy": {
"description": "Cauchy",
"properties": {
"location": {
"default": 0,
"type": "number"
},
"scale": {
"default": 0,
"type": "number"
}
},
"title": "Cauchy",
"type": "object"
},
"_exp": {
"description": "Exponential",
"properties": {
"mean": {
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Exp",
"type": "object"
},
"_failure": {
"description": "Fixed",
"properties": {
"TTF": {
"$ref": "#/definitions/_dist",
"name": "Time to Failure"
},
"TTR": {
"$ref": "#/definitions/_dist",
"name": "Time to Repair"
},
"repairman": {
"description": "Repairman",
"required": true,
"type": "string"
}
},
"title": "Yes",
"type": "object"
},
"_fixed": {
"description": "Fixed",
"properties": {
"mean": {
"default": 0.75,
"required": true,
"type": "number"
}
},
"title": "Fixed",
"type": "object"
},
"_gama": {
"description": "Gama",
"properties": {
"rate": {
"default": 0,
"required": true,
"type": "number"
},
"shape": {
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Gama",
"type": "object"
},
"_geometric": {
"description": "Geometric",
"properties": {
"probability": {
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Geometric",
"type": "object"
},
"_logistic": {
"description": "Logistic",
"properties": {
"location": {
"default": 0,
"required": true,
"type": "number"
},
"scale": {
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Logistic",
"type": "object"
},
"_lognormal": {
"description": "Lognormal",
"properties": {
"mean": {
"_class": "Dream.Property",
"default": 0,
"name": "Mean",
"type": "number"
},
"stdev": {
"_class": "Dream.Property",
"default": 0,
"name": "Standard Deviation",
"type": "number"
}
},
"title": "Lognormal",
"type": "object"
},
"_no": {
"description": "None",
"title": "No",
"type": "string"
},
"_normal": {
"description": "Normal",
"properties": {
"mean": {
"default": 0,
"required": true,
"type": "number"
},
"stdev": {
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Normal",
"type": "object"
},
"_poisson": {
"description": "Poisson",
"properties": {
"lambda": {
"default": 0,
"type": "number"
}
},
"title": "Poisson",
"type": "object"
},
"_weibull": {
"description": "Weibull",
"properties": {
"scale": {
"default": 0,
"required": true,
"type": "number"
},
"shape": {
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Weibull",
"type": "object"
}
}
},
"dream.simulation.applications.CapacityStations.CapacityStation.CapacityStation": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"id": {
"default": "M",
"required": true,
"type": "string"
},
"name": {
"default": "Machine",
"type": "string"
},
"pool": {
"_default": "",
"description": "The pool of workers that is used for this station. If this station does not share resources leave empty",
"required": false,
"type": "string"
},
"priority": {
"_default": "",
"description": "The priority against other stations. If this station does not share resources leave empty",
"required": false,
"type": "number"
},
"requireFullProject": {
"_default": 0,
"description": "Is this station an assembly? Yes: 1, No: 0",
"required": true,
"type": "number"
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#fef",
"backgroundImage": "linear-gradient(to bottom, #fef 0%, #ede 100%)",
"border": "1px solid #cbc"
},
"description": "A station processing items for some time given by a distribution",
"name": "Machine"
},
"edge": {
"description": "Base definition for edge",
"properties": {
"_class": {
"type": "string"
},
"destination": {
"type": "string"
},
"name": {
"type": "string"
},
"source": {
"type": "string"
}
},
"required": [
"_class",
"source",
"destination"
],
"type": "object"
},
"node": {
"description": "Base definition for node",
"properties": {
"_class": {
"type": "string"
},
"coordinate": {
"properties": {
"left": "number",
"top": "number"
},
"type": "object"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"_class"
],
"type": "object"
}
},
"constraints": {},
"general": {
"assemblySpace": 600,
"confidenceLevel": 0.95,
"currentDate": "2014/02/20",
"ke_url": "http: //git.erp5.org/gitweb/dream.git/blob_plain/HEAD: /dream/KnowledgeExtraction/Mockup_Processingtimes.xls",
"maxSimTime": -1,
"name": "CapacityProject7OrdersNoWIPSpreadsheet.json",
"numberOfReplications": "1",
"processTimeout": 10,
"seed": 1,
"timeUnit": "day",
"trace": "No"
},
"graph": {
"edge": {
"con_111": {
"_class": "Dream.Edge",
"destination": "PPASB",
"source": "MCH"
},
"con_129": {
"_class": "Dream.Edge",
"destination": "ASBTST",
"source": "EEP"
},
"con_143": {
"_class": "Dream.Edge",
"destination": "PAINT",
"source": "PPASB"
},
"con_155": {
"_class": "Dream.Edge",
"destination": "ASBTST",
"source": "PAINT"
},
"con_53": {
"_class": "Dream.Edge",
"destination": "WELD",
"source": "SMF"
},
"con_69": {
"_class": "Dream.Edge",
"destination": "PPASB",
"source": "WELD"
},
"con_91": {
"_class": "Dream.Edge",
"destination": "PPASB",
"source": "CNC"
}
},
"node": {
"ASBTST": {
"_class": "dream.simulation.applications.CapacityStations.CapacityStation.CapacityStation",
"coordinate": {
"left": 0.4748049078628899,
"top": 0.725986317834675
},
"id": "ASBTST",
"name": "ASBTST",
"pool": "ASB",
"priority": 3,
"requireFullProject": 1
},
"CNC": {
"_class": "dream.simulation.applications.CapacityStations.CapacityStation.CapacityStation",
"coordinate": {
"left": 0.19503291923602395,
"top": 0.055153702206292815
},
"name": "CNC",
"requireFullProject": 0
},
"EEP": {
"_class": "dream.simulation.applications.CapacityStations.CapacityStation.CapacityStation",
"coordinate": {
"left": 0.47570913933753145,
"top": 0.08206596769592567
},
"name": "EEP",
"requireFullProject": 0
},
"MCH": {
"_class": "dream.simulation.applications.CapacityStations.CapacityStation.CapacityStation",
"coordinate": {
"left": 0.3349253399057431,
"top": 0.06653715527072322
},
"name": "MCH",
"requireFullProject": 0
},
"PAINT": {
"_class": "dream.simulation.applications.CapacityStations.CapacityStation.CapacityStation",
"coordinate": {
"left": 0.3111040179667153,
"top": 0.7430615552634912
},
"name": "PAINT",
"requireFullProject": 0
},
"PPASB": {
"_class": "dream.simulation.applications.CapacityStations.CapacityStation.CapacityStation",
"coordinate": {
"left": 0.15782822210919625,
"top": 0.7563202742806299
},
"id": "PPASB",
"name": "PPASB",
"pool": "ASB",
"priority": 1,
"requireFullProject": 1
},
"SMF": {
"_class": "dream.simulation.applications.CapacityStations.CapacityStation.CapacityStation",
"coordinate": {
"left": 0.0679425723598465,
"top": 0.06693194658097301
},
"name": "SMF",
"requireFullProject": 0
},
"WELD": {
"_class": "dream.simulation.applications.CapacityStations.CapacityStation.CapacityStation",
"coordinate": {
"left": 0.05224682159961414,
"top": 0.47035271303157006
},
"name": "WELD",
"requireFullProject": 0
}
}
},
"input": {
"available_capacity_spreadsheet": [
[
"DAY",
"SMF",
"WELD",
"CNC",
"MCH",
"EEP",
"ASB",
"PAINT",
""
],
[
"MONDAY",
"20",
"70",
"90",
"20",
"290",
"170",
"20",
""
],
[
"TUESDAY",
"30",
"170",
"190",
"70",
"100",
"270",
"20",
""
],
[
"WEDNESDAY",
"130",
"270",
"290",
"170",
"200",
"370",
"20",
""
],
[
"THURSDAY",
"80",
"80",
"390",
"270",
"300",
"20",
"320",
""
],
[
"FRIDAY",
"180",
"180",
"490",
"370",
"390",
"20",
"420",
""
],
[
"SATURDAY",
"20",
"20",
"20",
"20",
"20",
"20",
"20",
""
],
[
"SUNDAY",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
""
],
[
"2014/03/22",
"70",
"90",
"80",
"20",
"70",
"50",
"70",
""
],
[
"2014/04/24",
"70",
"90",
"80",
"60",
"70",
"80",
"170",
""
],
[
"2014/03/25",
"120",
"170",
"80",
"160",
"370",
"80",
"170",
""
],
[
"",
null,
null,
null,
null,
null,
null,
null,
null
]
],
"projects_spreadsheet": [
[
"Project ID",
"Order Date",
"Due Date",
"Assembly Space",
"Operation",
"Capacity Requirement",
"WIP",
"Earliest Start Date"
],
[
"P1",
"2014/01/26",
"2014/03/26",
"400",
"SMF",
"80",
"80",
null
],
[
"",
"",
"",
"",
"WELD",
"90",
"0",
null
],
[
"",
"",
"",
"",
"CNC",
"130",
"130",
null
],
[
"",
"",
"",
"",
"MCH",
"125",
"125",
null
],
[
"",
"",
"",
"",
"EEP",
"30",
"30",
null
],
[
"",
"",
"",
"",
"PPASB",
"700",
"0",
null
],
[
"",
"",
"",
"",
"PAINT",
"50",
"0",
null
],
[
"",
"",
"",
"",
"ASBTST",
"300",
"0",
null
],
[
"P2",
"2014/01/26",
"2014/04/04",
"300",
"SMF",
"70",
"70",
null
],
[
"",
"",
"",
"",
"WELD",
"180",
"0",
null
],
[
"",
"",
"",
"",
"CNC",
"45",
"45",
null
],
[
"",
"",
"",
"",
"MCH",
"90",
"90",
null
],
[
"",
"",
"",
"",
"EEP",
"50",
"50",
null
],
[
"",
"",
"",
"",
"PPASB",
"900",
"0",
null
],
[
"",
"",
"",
"",
"PAINT",
"250",
"0",
null
],
[
"",
"",
"",
"",
"ASBTST",
"380",
"0",
null
],
[
"P3",
"2014/01/26",
"",
"400",
"SMF",
"130",
"130",
null
],
[
"",
"",
"",
"",
"WELD",
"115",
"0",
null
],
[
"",
"",
"",
"",
"CNC",
"145",
"145",
null
],
[
"",
"",
"",
"",
"MCH",
"90",
"90",
null
],
[
"",
"",
"",
"",
"EEP",
"35",
"35",
null
],
[
"",
"",
"",
"",
"PPASB",
"600",
"0",
null
],
[
"",
"",
"",
"",
"PAINT",
"100",
"0",
null
],
[
"",
"",
"",
"",
"ASBTST",
"130",
"0",
null
],
[
"P4",
"2014/01/26",
"2014/04/06",
"400",
"SMF",
"100",
"100",
""
],
[
"",
"",
"",
"",
"WELD",
"115",
"0",
""
],
[
"",
"",
"",
"",
"CNC",
"145",
"145",
""
],
[
"",
"",
"",
"",
"MCH",
"105",
"105",
""
],
[
"",
"",
"",
"",
"EEP",
"15",
"15",
""
],
[
"",
"",
"",
"",
"PPASB",
"700",
"0",
""
],
[
"",
"",
"",
"",
"PAINT",
"50",
"0",
""
],
[
"",
"",
"",
"",
"ASBTST",
"230",
"0",
""
],
[
"P5",
"2014/01/26",
"2014/04/16",
"400",
"SMF",
"80",
"80",
null
],
[
"",
"",
"",
"",
"WELD",
"90",
"0",
null
],
[
"",
"",
"",
"",
"CNC",
"130",
"130",
null
],
[
"",
"",
"",
"",
"MCH",
"125",
"125",
null
],
[
"",
"",
"",
"",
"EEP",
"30",
"30",
null
],
[
"",
"",
"",
"",
"PPASB",
"700",
"0",
null
],
[
"",
"",
"",
"",
"PAINT",
"50",
"0",
null
],
[
"",
"",
"",
"",
"ASBTST",
"300",
"0",
null
],
[
"P6",
"2014/01/26",
"2014/04/21",
"300",
"SMF",
"70",
"70",
""
],
[
"",
"",
"",
"",
"WELD",
"180",
"0",
""
],
[
"",
"",
"",
"",
"CNC",
"45",
"45",
""
],
[
"",
"",
"",
"",
"MCH",
"90",
"90",
""
],
[
"",
"",
"",
"",
"EEP",
"35",
"35",
""
],
[
"",
"",
"",
"",
"PPASB",
"600",
"0",
""
],
[
"",
"",
"",
"",
"PAINT",
"100",
"0",
""
],
[
"",
"",
"",
"",
"ASBTST",
"130",
"0",
""
],
[
"P7",
"2014/01/26",
"2014/04/10",
"400",
"SMF",
"80",
"80",
null
],
[
"",
"",
"",
"",
"WELD",
"90",
"0",
null
],
[
"",
"",
"",
"",
"CNC",
"130",
"130",
null
],
[
"",
"",
"",
"",
"MCH",
"125",
"125",
null
],
[
"",
"",
"",
"",
"EEP",
"35",
"35",
null
],
[
"",
"",
"",
"",
"PPASB",
"600",
"0",
null
],
[
"",
"",
"",
"",
"PAINT",
"100",
"0",
null
],
[
"",
"",
"",
"",
"ASBTST",
"130",
"0",
null
],
[
null,
null,
null,
null,
null,
null,
null,
null
]
]
},
"result": {
"result_list": []
}
}
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment