Commit facd55f1 authored by panos's avatar panos

Pilot Case script added - test mode

parent 3fc5f7e3
{
"application_configuration": {
"general": {
"properties": {
"currentDate": {
"default": "2014/02/18",
"description": "The day the experiment starts, in YYYY/MM/DD HH:MM:DD format",
"name": "Simulation start time",
"type": "string"
},
"maxSimTime": {
"default": 100,
"description": "Length of the simulation run",
"name": "Length of experiment",
"type": "number"
},
"numberOfGenerations": {
"default": 1,
"description": "Number of optimization generations",
"title": "Number of optimization generations",
"type": "integer"
},
"numberOfAntsPerGenerations": {
"default": 5,
"description": "Number of scenarios per optimization generation",
"title": "Number of scenarios per optimization generation",
"type": "integer"
},
"numberOfReplications": {
"default": 10,
"description": "Number of replications to run",
"name": "Number of replications",
"type": "number"
},
"confidenceLevel": {
"default": 0.95,
"description": "Confidence level for statistical analysis of stochastic experiments",
"name": "Confidence level",
"type": "number"
},
"processTimeout": {
"default": 10,
"description": "Number of seconds before the calculation process is interrupted",
"name": "Process timeout",
"type": "number"
},
"seed": {
"default": "1",
"description": "When using the same seed, the random number generator produce the same sequence of numbers",
"name": "Seed for random number generator",
"type": "number"
},
"throughputTarget": {
"default": 10,
"description": "The daily throughput target in units.",
"name": "Daily throughput target",
"type": "number"
},
"timeUnit": {
"default": "minute",
"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"
],
"name": "Output Trace",
"type": "string"
}
}
},
"input": {
"debug": {
"gadget": "Input_viewDebugJson",
"title": "Edit Configuration",
"type": "object_view"
},
"view": {
"gadget": "Input_viewProductionLine",
"title": "Production Line",
"type": "object_view"
},
"view_ACO_weights_spreadsheet": {
"configuration": {
"columns": [
{
"name": "",
"type": "string"
},
{
"name": "Assignment to machines with higher WIPB",
"type": "string"
},
{
"name": "Uniform assignment across stations",
"type": "string"
},
{
"name": "Min assignment variations",
"type": "string"
},
{
"name": "Fill sub-line",
"type": "string"
},
{
"name": "Machines with furthest last assignment time",
"type": "string"
},
{
"name": "Max number of assigned PB",
"type": "string"
}
]
},
"gadget": "Input_viewSpreadsheet",
"title": "Optimization Weights",
"type": "object_view"
},
"view_machine_shift_spreadsheet": {
"configuration": {
"columns": [
{
"format": "date-time",
"name": "Date",
"type": "string"
},
{
"name": "Machine",
"type": "string"
},
{
"name": "Start",
"type": "string"
},
{
"name": "Stop",
"type": "string"
}
]
},
"gadget": "Input_viewSpreadsheet",
"title": "Machine Shifts Spreadsheet",
"type": "object_view"
},
"view_management": {
"gadget": "Input_viewDocumentManagement",
"title": "Manage Document",
"type": "object_view"
},
"view_operator_shift_spreadsheet": {
"configuration": {
"columns": [
{
"format": "date-time",
"name": "Date",
"type": "string"
},
{
"name": "Product Builder",
"type": "string"
},
{
"name": "Start",
"type": "string"
},
{
"name": "Stop",
"type": "string"
}
]
},
"gadget": "Input_viewSpreadsheet",
"title": "Product Builder Shifts Spreadsheet",
"type": "object_view"
},
"view_operator_skill_spreadsheet": {
"configuration": {
"columns": [
{
"name": "Product Builder",
"type": "string"
},
{
"name": "Skills",
"type": "array"
}
]
},
"gadget": "Input_viewSpreadsheet",
"title": "Product Builder Skills",
"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"
},
"view_wip_spreadsheet": {
"configuration": {
"columns": [
{
"name": "ID",
"type": "string"
},
{
"name": "StationID",
"type": "string"
},
{
"name": "Number of Units",
"type": "number"
},
{
"name": "Remaining Units",
"type": "number"
},
{
"name": "Type",
"type": "string"
},
{
"name": "Batch ID",
"type": "string"
}
]
},
"gadget": "Input_viewSpreadsheet",
"title": "WIP Spreadsheet",
"type": "object_view"
}
},
"output": {
"view_buffer_state": {
"configuration": {
"handsontable_options": {},
"output_id": "buffer_output"
},
"gadget": "Output_viewSpreadsheet",
"title": "Buffer Statistics",
"type": "object_view"
},
"view_download_spreadsheet": {
"configuration": {
"output_id": "operator_spreadsheet"
},
"gadget": "Output_viewDownloadFile",
"title": "PB Schedule Spreadsheet",
"type": "object_view"
},
"view_exit_results": {
"configuration": {
"handsontable_options": {},
"output_id": "exit_output"
},
"gadget": "Output_viewSpreadsheet",
"title": "Exit statistics",
"type": "object_view"
},
"view_operator_gantt": {
"configuration": {
"output_id": "operator_gantt"
},
"gadget": "Output_viewGantt",
"title": "PB Schedule Gantt",
"type": "object_view"
},
"view_operator_utilization": {
"configuration": {
"output_id": "operator_utilization"
},
"gadget": "Output_viewGraph",
"title": "PB Utilization",
"type": "object_view"
},
"view_queue_stats": {
"configuration": {
"output_id": "queue_statistics"
},
"gadget": "Output_viewGraph",
"title": "Buffer Graph",
"type": "object_view"
},
"view_station_utilization": {
"configuration": {
"output_id": "station_utilization"
},
"gadget": "Output_viewGraph",
"title": "Station Utilization",
"type": "object_view"
}
},
"post_processing": {
"description": "",
"plugin_list": [
{
"_class": "dream.plugins.Batches.BatchesStationUtilization.BatchesStationUtilization",
"family": "Server",
"output_id": "station_utilization"
},
{
"_class": "dream.plugins.PostProcessQueueStatistics.PostProcessQueueStatistics",
"output_id": "queue_statistics"
},
{
"_class": "dream.plugins.Batches.BatchesTabularExit.BatchesTabularExit",
"output_id": "exit_output"
},
{
"_class": "dream.plugins.Batches.BatchesTabularQueues.BatchesTabularQueues",
"output_id": "buffer_output"
},
{
"_class": "dream.plugins.Batches.BatchesOperatorUtilization.BatchesOperatorUtilization",
"output_id": "operator_utilization"
},
{
"_class": "dream.plugins.Batches.BatchesOperatorGantt.BatchesOperatorGantt",
"output_id": "operator_gantt"
},
{
"_class": "dream.plugins.Batches.BatchesOperatorSpreadsheet.BatchesOperatorSpreadsheet",
"output_id": "operator_spreadsheet"
}
]
},
"pre_processing": {
"description": "",
"plugin_list": [
{
"_class": "dream.plugins.Batches.AddBatchStations.AddBatchStations",
"input_id": "batchStations"
},
{
"_class": "dream.plugins.GatherWIPStat.GatherWIPStat",
"input_id": "WIPStat"
},
{
"_class": "dream.plugins.ReadEntryData.ReadEntryData",
"input_id": "EntryData"
},
{
"_class": "dream.plugins.Batches.BatchesWIPSpreadsheet.BatchesWIPSpreadsheet",
"input_id": "WipSpreadsheet"
},
{
"_class": "dream.plugins.Batches.ReadSkilledOperators.ReadSkilledOperators",
"input_id": "SkilledOperatorsSpreadsheet"
},
{
"_class": "dream.plugins.Batches.BatchesShift.BatchesShift",
"input_id": "ShiftSpreadsheet"
}
]
},
"processing_plugin": {
"_class": "dream.plugins.Batches.BatchesACO.BatchesACO",
"description": ""
}
},
"class_definition": {
"Dream.BatchDecomposition": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"id": {
"default": "D",
"type": "string"
},
"name": {
"default": "Decomposition",
"type": "string"
},
"numberOfSubBatches": {
"default": 10,
"description": "Number Of Sub-Batches",
"type": "number"
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#dfd",
"backgroundImage": "linear-gradient(to bottom, #dfd 0%, #cec 100%)",
"border": "1px solid #bcb"
},
"description": "A station that decomposes a batch into sub-batches",
"name": "Decomposition"
},
"Dream.BatchDecompositionStartTime": {
"_class": "Dream.BatchDecompositionStartTime",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"id": {
"default": "D",
"type": "string"
},
"name": {
"default": "Decomposition",
"type": "string"
},
"numberOfSubBatches": {
"default": 10,
"description": "Number Of Sub-Batches",
"type": "number"
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#dfd",
"backgroundImage": "linear-gradient(to bottom, #dfd 0%, #cec 100%)",
"border": "1px solid #bcb"
},
"description": "A station that decomposes batches into sub-batches",
"name": "Decomposition"
},
"Dream.BatchReassembly": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"id": {
"default": "R",
"type": "string"
},
"name": {
"default": "Reassembly",
"type": "string"
},
"numberOfSubBatches": {
"default": 10,
"description": "Number Of Sub-Batches",
"type": "number"
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#dfd",
"backgroundImage": "linear-gradient(to bottom, #dfd 0%, #cec 100%)",
"border": "1px solid #bcb"
},
"description": "A station that assembles sub-batches back into a parent batch",
"name": "Reassembly"
},
"Dream.BatchScrapMachine": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"id": {
"default": "M",
"name": "Unique Station Name",
"required": true,
"type": "string"
},
"technology": {
"default": "M",
"name": "Operation",
"required": true,
"type": "string"
},
"processingTime": {
"$ref": "#/definitions/_dist",
"default": 0.1,
"description": "The time that this station needs in order to process a unit",
"name": "Processing time (per unit)",
"required": true
},
"workingBatchSize": {
"default": 10,
"name": "Working batch size in this station",
"type": "number"
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#fef",
"backgroundImage": "linear-gradient(to bottom, #fef 0%, #ede 100%)",
"border": "1px solid #cbc"
},
"description": "A station processing batches for some time given by a distribution provided by the entities that are processed. A random number of batch units is scrapped",
"name": "Machine"
},
"Dream.BatchSource": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"batchNumberOfUnits": {
"description": "the number of units of the created batches",
"name": "Number Of Units",
"required": true,
"type": "number"
},
"entity": {
"default": "Dream.Batch",
"description": "Manpy class for entities",
"name": "Entity Class",
"required": true,
"type": "string"
},
"id": {
"default": "S",
"name": "ID",
"required": true,
"type": "string"
},
"interArrivalTime": {
"$ref": "#/definitions/_dist",
"description": "Inter-arrival time",
"name": "Inter-arrival time",
"required": true
},
"name": {
"default": "Source",
"name": "Name",
"type": "string"
}
},
"type": "object"
}
],
"description": "A station creating entities",
"name": "Source"
},
"Dream.Edge": {
"_class": "edge",
"allOf": [
{
"$ref": "#/edge"
}
],
"description": "Connect stations together"
},
"Dream.EventGenerator": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"argumentDict": {
"default": "{}",
"description": "arguments to be used by the method",
"required": true,
"type": "string"
},
"duration": {
"default": 10,
"description": "duration",
"required": true,
"type": "number"
},
"id": {
"default": "A",
"required": true,
"type": "string"
},
"interval": {
"default": 10,
"description": "interval time",
"required": true,
"type": "number"
},
"method": {
"default": "Globals.countIntervalThroughput",
"description": "method to be performed",
"required": true,
"type": "string"
},
"name": {
"default": "Attainment",
"type": "string"
},
"start": {
"default": 1,
"description": "Start time",
"required": true,
"type": "number"
},
"stop": {
"default": -1,
"description": "Stop time",
"required": true,
"type": "number"
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#fdc",
"backgroundImage": "linear-gradient(to bottom, #fdc 0%, #ecb 100%)",
"border": "1px solid #cba"
},
"description": "Attainment",
"name": "Attainment"
},
"Dream.Exit": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"id": {
"default": "E",
"required": true
},
"name": {
"default": "Exit",
"type": "string"
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#eef",
"backgroundImage": "linear-gradient(to bottom, #eef 0%, #dde 100%)",
"border": "1px solid #ccb"
},
"description": "A station where entities exits from the system",
"name": "Exit",
"shape": "rectangle"
},
"Dream.LineClearance": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"capacity": {
"$ref": "#/definitions/_capacity",
"required": true
},
"id": {
"default": "C",
"type": "string"
},
"name": {
"default": "Clearance",
"type": "string"
},
"schedulingRule": {
"$ref": "#/definitions/_schedulingRule",
"required": true
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#eff",
"backgroundImage": "linear-gradient(to bottom, #eff 0%, #dee 100%)",
"border": "1px solid #bcc"
},
"description": "A buffer where entities of the same group can be held until the next station is ready to process them. Entities of other groups cannot be accepted",
"name": "Clearance"
},
"Dream.NonStarvingEntry": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"entityData": {
"description": "Entity produced related information",
"properties": {
"class": {
"default": "Dream.Batch",
"description": "Entity class",
"required": true,
"type": "string"
},
"numberOfUnits": {
"default": 80,
"description": "Number of units per batch",
"required": true,
"type": "number"
}
},
"required": true,
"type": "object"
},
"id": {
"default": "E",
"required": true,
"type": "string"
},
"name": {
"default": "Entry",
"type": "string"
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#ffe",
"backgroundImage": "linear-gradient(to bottom, #ffe 0%, #dde 100%)",
"border": "1px solid #bbc"
},
"description": "A station creating batches",
"name": "Entry"
},
"Dream.Queue": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"capacity": {
"$ref": "#/definitions/_capacity",
"required": true
},
"id": {
"default": "Q",
"type": "string"
},
"name": {
"default": "Queue",
"type": "string"
},
"schedulingRule": {
"$ref": "#/definitions/_schedulingRule",
"required": true
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#eff",
"backgroundImage": "linear-gradient(to bottom, #eff 0%, #dee 100%)",
"border": "1px solid #bcc"
},
"description": "A buffer where entities can be hold until the next station is ready to process them",
"name": "Queue"
},
"Dream.RoutingQueue": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"capacity": {
"$ref": "#/definitions/_capacity",
"required": true
},
"id": {
"default": "RQ",
"type": "string"
},
"name": {
"default": "RoutingQueue",
"type": "string"
},
"schedulingRule": {
"$ref": "#/definitions/_schedulingRule",
"required": true
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#eff",
"backgroundImage": "linear-gradient(to bottom, #eff 0%, #dee 100%)",
"border": "1px solid #bcc"
},
"description": "A buffer that directs sub-batches of the same batch directed to the same machine",
"name": "RoutingQueue"
},
"definitions": {
"_capacity": {
"default": 1,
"description": "capacity of the queue. -1 means infinite",
"name": "Capacity",
"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",
"description": "Is this machine subject to failures, if not then Time to Repair and Time to failure are ignored",
"enum": [
"No",
"Yes"
],
"name": "Has failure ?",
"type": "string"
}
},
"type": "object"
},
{
"$ref": "#/definitions/distributionTypes/_failure"
}
]
},
"_operationType": {
"description": "the type of operations that are performed manually in the machine",
"enum": [
"MT-Load",
"MT-Load-Setup",
"MT-Load-Setup-Processing"
],
"name": "Operation type",
"type": "string"
},
"_schedulingRule": {
"default": "FIFO",
"description": "Scheduling Rule of this buffer",
"enum": [
"FIFO",
"Priority",
"EDD",
"EOD",
"NumStages",
"RPC",
"LPT",
"SPT",
"MS",
"WINQ",
"WT"
],
"name": "Scheduling Rule",
"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": {
"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": {
"properties": {
"mean": {
"default": 0,
"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"
}
}
},
"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"
}
},
"required": [
"_class"
],
"type": "object"
}
},
"constraints": {},
"general": {
"confidenceLevel": 0.95,
"currentDate": "2015/02/16 07:00",
"maxSimTime": 540,
"name": "BatchFullModelOperatorsACO.json",
"numberOfAntsPerGenerations": 1,
"numberOfGenerations": 1,
"numberOfReplications": 1,
"processTimeout": 1000,
"seed": 1,
"throughputTarget": 1000,
"timeUnit": "minute",
"trace": "No"
},
"graph": {
"edge": {
"con_1001": {
"_class": "Dream.Edge",
"destination": "B8",
"source": "4_Cut & Bend"
},
"con_1043": {
"_class": "Dream.Edge",
"destination": "5_Moulding",
"source": "B8"
},
"con_1083": {
"_class": "Dream.Edge",
"destination": "B9",
"source": "5_Moulding"
},
"con_1121": {
"_class": "Dream.Edge",
"destination": "6_Flag Labelling A",
"source": "B9"
},
"con_1159": {
"_class": "Dream.Edge",
"destination": "6_Flag Labelling B",
"source": "B9"
},
"con_1193": {
"_class": "Dream.Edge",
"destination": "B10",
"source": "6_Flag Labelling B"
},
"con_1229": {
"_class": "Dream.Edge",
"destination": "B10",
"source": "6_Flag Labelling A"
},
"con_1261": {
"_class": "Dream.Edge",
"destination": "7_Pressure A",
"source": "B10"
},
"con_1293": {
"_class": "Dream.Edge",
"destination": "7_Pressure B",
"source": "B10"
},
"con_1321": {
"_class": "Dream.Edge",
"destination": "B11",
"source": "7_Pressure B"
},
"con_1351": {
"_class": "Dream.Edge",
"destination": "B11",
"source": "7_Pressure A"
},
"con_1377": {
"_class": "Dream.Edge",
"destination": "St7D",
"source": "B11"
},
"con_1401": {
"_class": "Dream.Edge",
"destination": "8_Carding",
"source": "St7D"
},
"con_1423": {
"_class": "Dream.Edge",
"destination": "B12",
"source": "8_Carding"
},
"con_1497": {
"_class": "Dream.Edge",
"destination": "St8RA",
"source": "9_Packaging A"
},
"con_1509": {
"_class": "Dream.Edge",
"destination": "Dream.Exit1",
"source": "St8RB"
},
"con_1523": {
"_class": "Dream.Edge",
"destination": "Dream.Exit1",
"source": "St8RA"
},
"con_273": {
"_class": "Dream.Edge",
"destination": "B1",
"source": "1_RO_E_M_A_A"
},
"con_339": {
"_class": "Dream.Edge",
"destination": "2_P_B_A_A",
"source": "B1"
},
"con_39": {
"_class": "Dream.Edge",
"destination": "BDA",
"source": "Dream.BatchSource1"
},
"con_393": {
"_class": "Dream.Edge",
"destination": "9_Packaging A",
"source": "B12"
},
"con_401": {
"_class": "Dream.Edge",
"destination": "B2",
"source": "2_P_B_A_A"
},
"con_459": {
"_class": "Dream.Edge",
"destination": "3_D_B_A_A",
"source": "B2"
},
"con_513": {
"_class": "Dream.Edge",
"destination": "BRA",
"source": "3_D_B_A_A"
},
"con_57": {
"_class": "Dream.Edge",
"destination": "BDB",
"source": "Dream.BatchSource1"
},
"con_581": {
"_class": "Dream.Edge",
"destination": "B3",
"source": "1_RO_E_M_A_B"
},
"con_594": {
"_class": "Dream.Edge",
"destination": "9_Packaging B",
"source": "B12"
},
"con_604": {
"_class": "Dream.Edge",
"destination": "St8RB",
"source": "9_Packaging B"
},
"con_645": {
"_class": "Dream.Edge",
"destination": "2_P_B_A_B",
"source": "B3"
},
"con_705": {
"_class": "Dream.Edge",
"destination": "B4",
"source": "2_P_B_A_B"
},
"con_71": {
"_class": "Dream.Edge",
"destination": "1_RO_E_M_A_B",
"source": "BDB"
},
"con_761": {
"_class": "Dream.Edge",
"destination": "3_D_B_A_B",
"source": "B4"
},
"con_813": {
"_class": "Dream.Edge",
"destination": "BRB",
"source": "3_D_B_A_B"
},
"con_861": {
"_class": "Dream.Edge",
"destination": "B7",
"source": "BRB"
},
"con_87": {
"_class": "Dream.Edge",
"destination": "1_RO_E_M_A_A",
"source": "BDA"
},
"con_911": {
"_class": "Dream.Edge",
"destination": "B7",
"source": "BRA"
},
"con_957": {
"_class": "Dream.Edge",
"destination": "4_Cut & Bend",
"source": "B7"
}
},
"node": {
"1_RO_E_M_A_A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.20124013508759986,
"top": 0.013362728902320656
},
"id": "1_RO_E_M_A_A",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.75
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "1_RO_E_M_A",
"workingBatchSize": 20
},
"1_RO_E_M_A_B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.2018021659108287,
"top": 0.22399692088997386
},
"id": "1_RO_E_M_A_B",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.75
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "1_RO_E_M_A",
"workingBatchSize": 20
},
"2_P_B_A_A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.41773081483750907,
"top": 0.01541903648040755
},
"id": "2_P_B_A_A",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.75
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "2_P_B_A",
"workingBatchSize": 20
},
"2_P_B_A_B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.41230602697692575,
"top": 0.2219242159080133
},
"id": "2_P_B_A_B",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.75
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "2_P_B_A",
"workingBatchSize": 20
},
"3_D_B_A_A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.6332996089721042,
"top": 0.01725281110758568
},
"id": "3_D_B_A_A",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.75
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "3_D_B_A",
"workingBatchSize": 20
},
"3_D_B_A_B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.6340488812407455,
"top": 0.22379953969289082
},
"id": "3_D_B_A_B",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.75
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "3_D_B_A",
"workingBatchSize": 20
},
"4_Cut & Bend": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.9660242062681554,
"top": 0.17336308060894598
},
"id": "4_Cut & Bend",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.1875
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "4_Cut & Bend",
"workingBatchSize": 80
},
"5_Moulding": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.10327653739447205,
"top": 0.7730867922482839
},
"id": "5_Moulding",
"interruption": {
"failure": ""
},
"processingTime": {
"Fixed": {
"mean": 0.375
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "5_Moulding",
"workingBatchSize": 40
},
"6_Flag Labelling A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.2970488955292209,
"top": 0.5764883070945124
},
"id": "6_Flag Labelling A",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.1875
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "6_Flag Labelling",
"workingBatchSize": 80
},
"6_Flag Labelling B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.2918428202821252,
"top": 0.9611889446138
},
"id": "6_Flag Labelling B",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.1875
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "6_Flag Labelling",
"workingBatchSize": 80
},
"7_Pressure A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.4590469615218773,
"top": 0.560438540581452
},
"id": "7_Pressure A",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 1
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "7_Pressure",
"workingBatchSize": 10
},
"7_Pressure B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.4590469615218773,
"top": 0.9608962942130924
},
"id": "7_Pressure B",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 1
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "7_Pressure",
"workingBatchSize": 10
},
"8_Carding": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.7066792229768067,
"top": 0.6281334023947263
},
"id": "8_Carding",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.5
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "8_Carding",
"workingBatchSize": 10
},
"9_Packaging A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.8276143790849673,
"top": 0.4918622893425504
},
"id": "9_Packaging A",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 1
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "9_Packaging",
"workingBatchSize": 10
},
"9_Packaging B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.8403105780796151,
"top": 0.9232952413566464
},
"id": "9_Packaging B",
"processingTime": {
"Fixed": {
"mean": 1
},
"distribution": "Fixed"
},
"technology": "9_Packaging",
"workingBatchSize": 10
},
"B1": {
"_class": "Dream.LineClearance",
"capacity": 2,
"coordinate": {
"left": 0.3081327478571614,
"top": 0.021036307350047176
},
"id": "B1",
"name": "B1",
"schedulingRule": "FIFO"
},
"B10": {
"_class": "Dream.Queue",
"capacity": 4,
"coordinate": {
"left": 0.37830510689257246,
"top": 0.7550041875821227
},
"id": "B10",
"name": "B10",
"schedulingRule": "FIFO"
},
"B11": {
"_class": "Dream.Queue",
"capacity": 4,
"coordinate": {
"left": 0.5418509694588267,
"top": 0.7716845469524345
},
"name": "B11",
"schedulingRule": "FIFO"
},
"B12": {
"_class": "Dream.RoutingQueue",
"capacity": 23,
"coordinate": {
"left": 0.7780022382216776,
"top": 0.7112343913913901
},
"name": "B12",
"schedulingRule": "FIFO"
},
"B2": {
"_class": "Dream.LineClearance",
"capacity": 2,
"coordinate": {
"left": 0.5232485073555496,
"top": 0.013666696062206444
},
"name": "B2",
"schedulingRule": "FIFO"
},
"B3": {
"_class": "Dream.LineClearance",
"capacity": 2,
"coordinate": {
"left": 0.30516154587152466,
"top": 0.21432431691821405
},
"name": "B3",
"schedulingRule": "FIFO"
},
"B4": {
"_class": "Dream.LineClearance",
"capacity": 2,
"coordinate": {
"left": 0.5187142701900398,
"top": 0.24087466145736686
},
"name": "B4",
"schedulingRule": "FIFO"
},
"B7": {
"_class": "Dream.Queue",
"capacity": 4,
"coordinate": {
"left": 0.8453666868818541,
"top": 0.07788764399810784
},
"name": "B7",
"schedulingRule": "FIFO"
},
"B8": {
"_class": "Dream.Queue",
"capacity": 4,
"coordinate": {
"left": 0.004430433936801263,
"top": 0.7879379917839283
},
"name": "B8",
"schedulingRule": "FIFO"
},
"B9": {
"_class": "Dream.Queue",
"capacity": 4,
"coordinate": {
"left": 0.18889698258498985,
"top": 0.7747840492453537
},
"name": "B9",
"schedulingRule": "FIFO"
},
"BDA": {
"_class": "Dream.BatchDecomposition",
"coordinate": {
"left": 0.09978623503357781,
"top": 0.01725281110758568
},
"name": "BDA",
"numberOfSubBatches": 4
},
"BDB": {
"_class": "Dream.BatchDecomposition",
"coordinate": {
"left": 0.09762884137511894,
"top": 0.22590515117972654
},
"name": "BDB",
"numberOfSubBatches": 4
},
"BRA": {
"_class": "Dream.BatchReassembly",
"coordinate": {
"left": 0.7345017315221779,
"top": 0.005869386959240394
},
"name": "BRA",
"numberOfSubBatches": 4
},
"BRB": {
"_class": "Dream.BatchReassembly",
"coordinate": {
"left": 0.732266858260719,
"top": 0.22001598561825875
},
"name": "BRB",
"numberOfSubBatches": 4
},
"Dream.BatchSource1": {
"_class": "Dream.BatchSource",
"batchNumberOfUnits": "80",
"coordinate": {
"left": 0.002304632153726827,
"top": 0.10443803914040899
},
"entity": "Dream.Batch",
"id": "Dream.BatchSource1",
"interArrivalTime": {
"Fixed": {
"mean": 0.5
},
"distribution": "Fixed"
},
"name": "Source",
"numberOfUnits": "80"
},
"Dream.Exit1": {
"_class": "Dream.Exit",
"coordinate": {
"left": 0.9994692573189933,
"top": 0.7470423170386943
},
"name": "Exit"
},
"St7D": {
"_class": "Dream.BatchDecomposition",
"coordinate": {
"left": 0.6385832092381459,
"top": 0.7640847057948053
},
"name": "St7_D",
"numberOfSubBatches": 8
},
"St8RA": {
"_class": "Dream.BatchReassembly",
"coordinate": {
"left": 0.9697830337196626,
"top": 0.5350013587825962
},
"id": "St8RA",
"name": "St8R_A",
"numberOfSubBatches": 8
},
"St8RB": {
"_class": "Dream.BatchReassembly",
"coordinate": {
"left": 0.9770689321903234,
"top": 0.960991679081057
},
"name": "St8R_B",
"numberOfSubBatches": 8
}
}
},
"input": {
"ACO_weights_spreadsheet": [
[
"",
"Assignment to machines with higher WIP",
"Uniform assignment across stations",
"Min assignment variations",
"Fill sub-line",
"Machines with furthest last assignment time",
"Max number of assigned PB"
],
[
"Min weight value",
1.5,
0.5,
0,
1,
0.5,
0.5
],
[
"Max weight value",
2.5,
1.5,
1,
2,
1.5,
1.5
],
[
"Step",
0.1,
0.1,
0.1,
0.1,
0.1,
0.1
],
[
"Static weight value",
"2",
"1",
"0",
"2",
"1",
"1"
],
[
null,
null,
null,
null,
null,
null,
null
]
],
"machine_shift_spreadsheet": [
[
"Date",
"Machines",
"Start",
"Stop"
],
[
"2015/02/16",
"All",
"07:00",
"16:00"
],
[
"2015/02/16",
"1_RO_E_M_A_A,2_P_B_A_A,3_D_B_A_A,4_Cut & Bend,5_Moulding,6_Flag Labelling A,7_Pressure A,8_Carding,9_Packaging A",
"16:00",
"01:00"
],
[
"2015/02/17",
"All",
"07:00",
"16:00"
],
[
"2015/02/17",
"1_RO_E_M_A_A,2_P_B_A_A,3_D_B_A_A,4_Cut & Bend,5_Moulding,6_Flag Labelling A,7_Pressure A,8_Carding,9_Packaging A",
"16:00",
"01:00"
],
[
"2015/02/18",
"All",
"07:00",
"16:00"
],
[
"2015/02/18",
"1_RO_E_M_A_A,2_P_B_A_A,3_D_B_A_A,4_Cut & Bend,5_Moulding,6_Flag Labelling A,7_Pressure A,8_Carding,9_Packaging A",
"16:00",
"01:00"
],
[
"",
"",
"",
""
]
],
"operator_shift_spreadsheet": [
[
"Date",
"Product Builder",
"Start",
"Stop"
],
[
"2015/02/16",
"PB_1,PB_2,PB_3,PB_4,PB_7,PB_9,PB_16,PB_15,PB_17,PB_25,PB_30,PB_12",
"07:00",
"16:00"
],
[
"2015/02/16",
"PB_1,PB_2,PB_3,PB_4,PB_7,PB_9,PB_10,PB_20,PB_21,PB_16,PB_15,PB_17,PB_25",
"16:00",
"01:00"
],
[
"2015/02/17",
"PB_1,PB_2,PB_3,PB_4,PB_7,PB_9,PB_16,PB_15,PB_17,PB_25,PB_30,PB_12",
"07:00",
"16:00"
],
[
"2015/02/17",
"PB_1,PB_2,PB_3,PB_4,PB_7,PB_9,PB_10,PB_20,PB_21,PB_16,PB_15,PB_17,PB_25",
"16:00",
"01:00"
],
[
"2015/02/18",
"PB_1,PB_2,PB_3,PB_4,PB_7,PB_9,PB_16,PB_15,PB_17,PB_25,PB_30,PB_12",
"07:00",
"16:00"
],
[
"2015/02/18",
"PB_1,PB_2,PB_3,PB_4,PB_7,PB_9,PB_10,PB_20,PB_21,PB_16,PB_15,PB_17,PB_25",
"16:00",
"01:00"
],
[
null,
null,
null,
null
]
],
"operator_skill_spreadsheet": [
[
"Product Builder",
"Skills"
],
[
"PB_1",
"1_RO_E_M_A,2_P_B_A,3_D_B_A"
],
[
"PB_2",
"1_RO_E_M_A,2_P_B_A,3_D_B_A"
],
[
"PB_3",
"1_RO_E_M_A,2_P_B_A,3_D_B_A"
],
[
"PB_4",
"1_RO_E_M_A,2_P_B_A,3_D_B_A"
],
[
"PB_7",
"3_D_B_A,5_Moulding,6_Flag Labelling"
],
[
"PB_9",
"4_Cut & Bend,5_Moulding,6_Flag Labelling"
],
[
"PB_10",
"5_Moulding,6_Flag Labelling,7_Pressure"
],
[
"PB_12",
"2_P_B_A,3_D_B_A,7_Pressure"
],
[
"PB_15",
"8_Carding,9_Packaging"
],
[
"PB_16",
"7_Pressure,8_Carding,9_Packaging"
],
[
"PB_17",
"4_Cut & Bend,7_Pressure,9_Packaging"
],
[
"PB_20",
"6_Flag Labelling,7_Pressure,8_Carding"
],
[
"PB_21",
"7_Pressure,8_Carding,9_Packaging"
],
[
"PB_25",
"2_P_B_A,3_D_B_A,9_Packaging"
],
[
"PB_30",
"4_Cut & Bend,5_Moulding"
],
[
"",
""
]
],
"wip_spreadsheet": [
[
"ID",
"StationID",
"Number of Units",
"Remaining Units",
"Type",
"Batch ID"
],
[
"1",
"9_Packaging A",
"80",
"60",
"Batch",
""
],
[
"2",
"8_Carding",
"80",
"20",
"Batch",
""
],
[
"3",
"B11",
"80",
"",
"Batch",
""
],
[
"4",
"7_Pressure A",
"80",
"45",
"Batch",
""
],
[
"5",
"7_Pressure B",
"80",
"10",
"Batch",
""
],
[
"6",
"B10",
"80",
"",
"Batch",
""
],
[
"7",
"B9",
"80",
"",
"Batch",
""
],
[
"8",
"B9",
"80",
"",
"Batch",
""
],
[
"9",
"B7",
"80",
"",
"Batch",
""
],
[
"12",
"B7",
"80",
"",
"Batch",
""
],
[
"13",
"B7",
"80",
"",
"Batch",
""
],
[
"B10_SB0",
"3_D_B_A_A",
"20",
"0",
"SubBatch",
"10"
],
[
"B10_SB1",
"B2",
"20",
"",
"SubBatch",
"10"
],
[
"B10_SB2",
"B1",
"20",
"",
"SubBatch",
"10"
],
[
"B10_SB3",
"1_RO_E_M_A_A",
"20",
"20",
"SubBatch",
"10"
],
[
"B11_SB0",
"B4",
"20",
"",
"SubBatch",
"11"
],
[
"B11_SB1",
"B3",
"20",
"",
"SubBatch",
"11"
],
[
"B11_SB2",
"1_RO_E_M_A_B",
"20",
"20",
"SubBatch",
"11"
],
[
"B11_SB3",
"1_RO_E_M_A_B",
"20",
"20",
"SubBatch",
"11"
],
[
null,
null,
null,
null,
null,
null
]
]
},
"result": {
"result_list": []
}
}
\ No newline at end of file
{
"general": {
"confidenceLevel": 0.95,
"currentDate": "2015/02/16 07:00",
"maxSimTime": 540,
"name": "BatchFullModelOperatorsACO.json",
"numberOfAntsPerGenerations": 1,
"numberOfGenerations": 1,
"numberOfReplications": 1,
"processTimeout": 1000,
"seed": 1,
"throughputTarget": 1000,
"timeUnit": "minute",
"trace": "No"
},
"graph": {
"edge": {
"con_1001": {
"_class": "Dream.Edge",
"destination": "B8",
"source": "4_Cut & Bend"
},
"con_1043": {
"_class": "Dream.Edge",
"destination": "5_Moulding",
"source": "B8"
},
"con_1083": {
"_class": "Dream.Edge",
"destination": "B9",
"source": "5_Moulding"
},
"con_1121": {
"_class": "Dream.Edge",
"destination": "6_Flag Labelling A",
"source": "B9"
},
"con_1159": {
"_class": "Dream.Edge",
"destination": "6_Flag Labelling B",
"source": "B9"
},
"con_1193": {
"_class": "Dream.Edge",
"destination": "B10",
"source": "6_Flag Labelling B"
},
"con_1229": {
"_class": "Dream.Edge",
"destination": "B10",
"source": "6_Flag Labelling A"
},
"con_1261": {
"_class": "Dream.Edge",
"destination": "7_Pressure A",
"source": "B10"
},
"con_1293": {
"_class": "Dream.Edge",
"destination": "7_Pressure B",
"source": "B10"
},
"con_1321": {
"_class": "Dream.Edge",
"destination": "B11",
"source": "7_Pressure B"
},
"con_1351": {
"_class": "Dream.Edge",
"destination": "B11",
"source": "7_Pressure A"
},
"con_1377": {
"_class": "Dream.Edge",
"destination": "St7D",
"source": "B11"
},
"con_1401": {
"_class": "Dream.Edge",
"destination": "8_Carding",
"source": "St7D"
},
"con_1423": {
"_class": "Dream.Edge",
"destination": "B12",
"source": "8_Carding"
},
"con_1497": {
"_class": "Dream.Edge",
"destination": "St8RA",
"source": "9_Packaging A"
},
"con_1509": {
"_class": "Dream.Edge",
"destination": "Dream.Exit1",
"source": "St8RB"
},
"con_1523": {
"_class": "Dream.Edge",
"destination": "Dream.Exit1",
"source": "St8RA"
},
"con_273": {
"_class": "Dream.Edge",
"destination": "B1",
"source": "1_RO_E_M_A_A"
},
"con_339": {
"_class": "Dream.Edge",
"destination": "2_P_B_A_A",
"source": "B1"
},
"con_39": {
"_class": "Dream.Edge",
"destination": "BDA",
"source": "Dream.BatchSource1"
},
"con_393": {
"_class": "Dream.Edge",
"destination": "9_Packaging A",
"source": "B12"
},
"con_401": {
"_class": "Dream.Edge",
"destination": "B2",
"source": "2_P_B_A_A"
},
"con_459": {
"_class": "Dream.Edge",
"destination": "3_D_B_A_A",
"source": "B2"
},
"con_513": {
"_class": "Dream.Edge",
"destination": "BRA",
"source": "3_D_B_A_A"
},
"con_57": {
"_class": "Dream.Edge",
"destination": "BDB",
"source": "Dream.BatchSource1"
},
"con_581": {
"_class": "Dream.Edge",
"destination": "B3",
"source": "1_RO_E_M_A_B"
},
"con_594": {
"_class": "Dream.Edge",
"destination": "9_Packaging B",
"source": "B12"
},
"con_604": {
"_class": "Dream.Edge",
"destination": "St8RB",
"source": "9_Packaging B"
},
"con_645": {
"_class": "Dream.Edge",
"destination": "2_P_B_A_B",
"source": "B3"
},
"con_705": {
"_class": "Dream.Edge",
"destination": "B4",
"source": "2_P_B_A_B"
},
"con_71": {
"_class": "Dream.Edge",
"destination": "1_RO_E_M_A_B",
"source": "BDB"
},
"con_761": {
"_class": "Dream.Edge",
"destination": "3_D_B_A_B",
"source": "B4"
},
"con_813": {
"_class": "Dream.Edge",
"destination": "BRB",
"source": "3_D_B_A_B"
},
"con_861": {
"_class": "Dream.Edge",
"destination": "B7",
"source": "BRB"
},
"con_87": {
"_class": "Dream.Edge",
"destination": "1_RO_E_M_A_A",
"source": "BDA"
},
"con_911": {
"_class": "Dream.Edge",
"destination": "B7",
"source": "BRA"
},
"con_957": {
"_class": "Dream.Edge",
"destination": "4_Cut & Bend",
"source": "B7"
}
},
"node": {
"1_RO_E_M_A_A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.20124013508759986,
"top": 0.013362728902320656
},
"id": "1_RO_E_M_A_A",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.75
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "1_RO_E_M_A",
"workingBatchSize": 20
},
"1_RO_E_M_A_B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.2018021659108287,
"top": 0.22399692088997386
},
"id": "1_RO_E_M_A_B",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.75
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "1_RO_E_M_A",
"workingBatchSize": 20
},
"2_P_B_A_A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.41773081483750907,
"top": 0.01541903648040755
},
"id": "2_P_B_A_A",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.75
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "2_P_B_A",
"workingBatchSize": 20
},
"2_P_B_A_B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.41230602697692575,
"top": 0.2219242159080133
},
"id": "2_P_B_A_B",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.75
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "2_P_B_A",
"workingBatchSize": 20
},
"3_D_B_A_A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.6332996089721042,
"top": 0.01725281110758568
},
"id": "3_D_B_A_A",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.75
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "3_D_B_A",
"workingBatchSize": 20
},
"3_D_B_A_B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.6340488812407455,
"top": 0.22379953969289082
},
"id": "3_D_B_A_B",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.75
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "3_D_B_A",
"workingBatchSize": 20
},
"4_Cut & Bend": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.9660242062681554,
"top": 0.17336308060894598
},
"id": "4_Cut & Bend",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.1875
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "4_Cut & Bend",
"workingBatchSize": 80
},
"5_Moulding": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.10327653739447205,
"top": 0.7730867922482839
},
"id": "5_Moulding",
"interruption": {
"failure": ""
},
"processingTime": {
"Fixed": {
"mean": 0.375
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "5_Moulding",
"workingBatchSize": 40
},
"6_Flag Labelling A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.2970488955292209,
"top": 0.5764883070945124
},
"id": "6_Flag Labelling A",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.1875
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "6_Flag Labelling",
"workingBatchSize": 80
},
"6_Flag Labelling B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.2918428202821252,
"top": 0.9611889446138
},
"id": "6_Flag Labelling B",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.1875
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "6_Flag Labelling",
"workingBatchSize": 80
},
"7_Pressure A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.4590469615218773,
"top": 0.560438540581452
},
"id": "7_Pressure A",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 1
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "7_Pressure",
"workingBatchSize": 10
},
"7_Pressure B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.4590469615218773,
"top": 0.9608962942130924
},
"id": "7_Pressure B",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 1
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "7_Pressure",
"workingBatchSize": 10
},
"8_Carding": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.7066792229768067,
"top": 0.6281334023947263
},
"id": "8_Carding",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 0.5
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "8_Carding",
"workingBatchSize": 10
},
"9_Packaging A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.8276143790849673,
"top": 0.4918622893425504
},
"id": "9_Packaging A",
"interruption": {
"failure": {
"TTF": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"TTR": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"failureDistribution": "No",
"repairman": ""
}
},
"processingTime": {
"Fixed": {
"mean": 1
},
"distribution": "Fixed"
},
"scrapping": {
"Fixed": {
"mean": 0
},
"distribution": "Fixed"
},
"technology": "9_Packaging",
"workingBatchSize": 10
},
"9_Packaging B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.8403105780796151,
"top": 0.9232952413566464
},
"id": "9_Packaging B",
"processingTime": {
"Fixed": {
"mean": 1
},
"distribution": "Fixed"
},
"technology": "9_Packaging",
"workingBatchSize": 10
},
"B1": {
"_class": "Dream.LineClearance",
"capacity": 2,
"coordinate": {
"left": 0.3081327478571614,
"top": 0.021036307350047176
},
"id": "B1",
"name": "B1",
"schedulingRule": "FIFO"
},
"B10": {
"_class": "Dream.Queue",
"capacity": 4,
"coordinate": {
"left": 0.37830510689257246,
"top": 0.7550041875821227
},
"id": "B10",
"name": "B10",
"schedulingRule": "FIFO"
},
"B11": {
"_class": "Dream.Queue",
"capacity": 4,
"coordinate": {
"left": 0.5418509694588267,
"top": 0.7716845469524345
},
"name": "B11",
"schedulingRule": "FIFO"
},
"B12": {
"_class": "Dream.RoutingQueue",
"capacity": 23,
"coordinate": {
"left": 0.7780022382216776,
"top": 0.7112343913913901
},
"name": "B12",
"schedulingRule": "FIFO"
},
"B2": {
"_class": "Dream.LineClearance",
"capacity": 2,
"coordinate": {
"left": 0.5232485073555496,
"top": 0.013666696062206444
},
"name": "B2",
"schedulingRule": "FIFO"
},
"B3": {
"_class": "Dream.LineClearance",
"capacity": 2,
"coordinate": {
"left": 0.30516154587152466,
"top": 0.21432431691821405
},
"name": "B3",
"schedulingRule": "FIFO"
},
"B4": {
"_class": "Dream.LineClearance",
"capacity": 2,
"coordinate": {
"left": 0.5187142701900398,
"top": 0.24087466145736686
},
"name": "B4",
"schedulingRule": "FIFO"
},
"B7": {
"_class": "Dream.Queue",
"capacity": 4,
"coordinate": {
"left": 0.8453666868818541,
"top": 0.07788764399810784
},
"name": "B7",
"schedulingRule": "FIFO"
},
"B8": {
"_class": "Dream.Queue",
"capacity": 4,
"coordinate": {
"left": 0.004430433936801263,
"top": 0.7879379917839283
},
"name": "B8",
"schedulingRule": "FIFO"
},
"B9": {
"_class": "Dream.Queue",
"capacity": 4,
"coordinate": {
"left": 0.18889698258498985,
"top": 0.7747840492453537
},
"name": "B9",
"schedulingRule": "FIFO"
},
"BDA": {
"_class": "Dream.BatchDecomposition",
"coordinate": {
"left": 0.09978623503357781,
"top": 0.01725281110758568
},
"name": "BDA",
"numberOfSubBatches": 4
},
"BDB": {
"_class": "Dream.BatchDecomposition",
"coordinate": {
"left": 0.09762884137511894,
"top": 0.22590515117972654
},
"name": "BDB",
"numberOfSubBatches": 4
},
"BRA": {
"_class": "Dream.BatchReassembly",
"coordinate": {
"left": 0.7345017315221779,
"top": 0.005869386959240394
},
"name": "BRA",
"numberOfSubBatches": 4
},
"BRB": {
"_class": "Dream.BatchReassembly",
"coordinate": {
"left": 0.732266858260719,
"top": 0.22001598561825875
},
"name": "BRB",
"numberOfSubBatches": 4
},
"Dream.BatchSource1": {
"_class": "Dream.BatchSource",
"batchNumberOfUnits": "80",
"coordinate": {
"left": 0.002304632153726827,
"top": 0.10443803914040899
},
"entity": "Dream.Batch",
"id": "Dream.BatchSource1",
"interArrivalTime": {
"Fixed": {
"mean": 0.5
},
"distribution": "Fixed"
},
"name": "Source",
"numberOfUnits": "80"
},
"Dream.Exit1": {
"_class": "Dream.Exit",
"coordinate": {
"left": 0.9994692573189933,
"top": 0.7470423170386943
},
"name": "Exit"
},
"St7D": {
"_class": "Dream.BatchDecomposition",
"coordinate": {
"left": 0.6385832092381459,
"top": 0.7640847057948053
},
"name": "St7_D",
"numberOfSubBatches": 8
},
"St8RA": {
"_class": "Dream.BatchReassembly",
"coordinate": {
"left": 0.9697830337196626,
"top": 0.5350013587825962
},
"id": "St8RA",
"name": "St8R_A",
"numberOfSubBatches": 8
},
"St8RB": {
"_class": "Dream.BatchReassembly",
"coordinate": {
"left": 0.9770689321903234,
"top": 0.960991679081057
},
"name": "St8R_B",
"numberOfSubBatches": 8
}
}
},
}
\ No newline at end of file
'''
Created on 17 Apr 2015
@author: Panos
'''
# ===========================================================================
# Copyright 2013 University of Limerick
#
# This file is part of DREAM.
#
# DREAM is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# DREAM is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with DREAM. If not, see <http://www.gnu.org/licenses/>.
# ===========================================================================
from __future__ import division
from dream.KnowledgeExtraction.StatisticalMeasures import BasicStatisticalMeasures
from dream.KnowledgeExtraction.DistributionFitting import Distributions
from dream.KnowledgeExtraction.DistributionFitting import DistFittest
from dream.KnowledgeExtraction.ReplaceMissingValues import HandleMissingValues
from dream.KnowledgeExtraction.ImportDatabase import ConnectionData
from dream.KnowledgeExtraction.DetectOutliers import HandleOutliers
from JSONOutput import JSONOutput
from dream.KnowledgeExtraction.CMSDOutput import CMSDOutput
from xml.etree import ElementTree as et
# from WIP_Identifier import currentWIP
import xlrd
from dateutil.parser import *
import datetime
from time import mktime
cnxn=ConnectionData(seekName='ServerData', file_path='C:\Users\Panos\Documents\DB_Approach\BatchModel', implicitExt='txt', number_of_cursors=3)
cursors=cnxn.getCursors()
mesExtract=cursors[0].execute("""
select CONTAINERNAME, PRODUCTNAME, PRODUCTDESCRIPTION, TASKDATE, TASKTYPENAME, STATIONNAME, CONTAINERQTYATTXN, EMPLOYEENAME
from mes2
""")
# method that returns the processStory dictionary, which contains the production steps of the container ids
def contProcessStory(contId):
processStory[contId]={}
mesExtract=cursors[0].execute("""
select CONTAINERNAME, PRODUCTNAME, PRODUCTDESCRIPTION, TASKDATE, TASKTYPENAME, STATIONNAME, CONTAINERQTYATTXN, EMPLOYEENAME
from mes2
""")
for i in range(mesExtract.rowcount):
ind1=mesExtract.fetchone()
a= cursors[1].execute("""
select CONTAINERNAME,STATIONNAME, TASKDATE, TASKTYPENAME, STATIONNAME, CONTAINERQTYATTXN
from mes2
""")
for i in range(a.rowcount):
ind2=a.fetchone()
if ind2.CONTAINERNAME==contId:
stationName=ind2.STATIONNAME
processStory[contId][stationName]=[]
b= cursors[2].execute("""
select CONTAINERNAME,STATIONNAME, TASKDATE, TASKTYPENAME, STATIONNAME, CONTAINERQTYATTXN
from mes2
""")
for i in range(b.rowcount):
ind3=b.fetchone()
if ind3.CONTAINERNAME==contId:
taskType=ind3.TASKTYPENAME
stationName=ind3.STATIONNAME
time=ind3.TASKDATE
contQuant=ind3.CONTAINERQTYATTXN
try:
if taskType=='Start Station' or taskType=='Finish Station':
processStory[contId][stationName].append([time, contQuant])
except KeyError:
continue
# method that returns the timestamps from the Excel document (real MES data) in a form that can be handled by the KE tool
def days_hours_minutes(td):
return td.days, td.seconds//3600, (td.seconds//60)%60
processStory={}
contDetails={}
contIds=[]
for i in range(mesExtract.rowcount):
ind1=mesExtract.fetchone()
Id=ind1.CONTAINERNAME
if not Id in contIds:
contIds.append(Id)
contDetails[Id]=[]
prodId=ind1.PRODUCTNAME
prodDescName=ind1.PRODUCTDESCRIPTION
time=ind1.TASKDATE
statName=ind1.STATIONNAME
contDetails[Id].append(prodId)
contDetails[Id].append(prodDescName)
contDetails[Id].append(statName)
for elem in contIds:
contProcessStory(elem)
#Creation and initialization of dictionaries, one for each station with keys the static 'ProcTime' and 'ScrapQuant'
MA={}
MA['ProcTime']=[]
MA['ScrapQuant']=[]
M1A={}
M1A['ProcTime']=[]
M1A['ScrapQuant']=[]
M1B={}
M1B['ProcTime']=[]
M1B['ScrapQuant']=[]
M2A={}
M2A['ProcTime']=[]
M2A['ScrapQuant']=[]
M2B={}
M2B['ProcTime']=[]
M2B['ScrapQuant']=[]
M3A={}
M3A['ProcTime']=[]
M3A['ScrapQuant']=[]
M3B={}
M3B['ScrapQuant']=[]
M3B['ProcTime']=[]
CB={}
CB['ScrapQuant']=[]
CB['ProcTime']=[]
MM={}
MM['ProcTime']=[]
MM['ScrapQuant']=[]
FL={}
FL['ProcTime']=[]
FL['ScrapQuant']=[]
PrA={}
PrA['ProcTime']=[]
PrA['ScrapQuant']=[]
PrB={}
PrB['ProcTime']=[]
PrB['ScrapQuant']=[]
PaA={}
PaA['ProcTime']=[]
PaA['ScrapQuant']=[]
Pb={}
Pb['ProcTime']=[]
Pb['ScrapQuant']=[]
#Define the number of units for each batch
batchSize= 80
#With the following loop statement, the lists inside the dictionaries with the processing times and the scrap quantity for each station are created
for key in processStory.keys():
for elem in processStory[key].keys():
if elem=='MA':
try:
t1= (((mktime(processStory[key][elem][1][0].timetuple()) - mktime(processStory[key][elem][0][0].timetuple())) / batchSize) / 60)
scr1=processStory[key][elem][0][1]-processStory[key][elem][1][1]
MA['ProcTime'].append(t1)
MA['ScrapQuant'].append(scr1)
except IndexError:
continue
elif elem=='M1A':
try:
t2= (((mktime(processStory[key][elem][1][0].timetuple()) - mktime(processStory[key][elem][0][0].timetuple())) / batchSize) / 60)
scr2=processStory[key][elem][0][1]-processStory[key][elem][1][1]
M1A['ProcTime'].append(t2)
M1A['ScrapQuant'].append(scr2)
except IndexError:
continue
elif elem=='M1B':
try:
t3= (((mktime(processStory[key][elem][1][0].timetuple()) - mktime(processStory[key][elem][0][0].timetuple())) / batchSize) / 60)
scr3=processStory[key][elem][0][1]-processStory[key][elem][1][1]
M1B['ProcTime'].append(t3)
M1B['ScrapQuant'].append(scr3)
except IndexError:
continue
elif elem=='M2A':
try:
t4= (((mktime(processStory[key][elem][1][0].timetuple()) - mktime(processStory[key][elem][0][0].timetuple())) / batchSize) / 60)
scr4=processStory[key][elem][0][1]-processStory[key][elem][1][1]
M2A['ProcTime'].append(t4)
M2A['ScrapQuant'].append(scr4)
except IndexError:
continue
elif elem=='M2B':
try:
t5= (((mktime(processStory[key][elem][1][0].timetuple()) - mktime(processStory[key][elem][0][0].timetuple())) / batchSize) / 60)
scr5=processStory[key][elem][0][1]-processStory[key][elem][1][1]
M2B['ProcTime'].append(t5)
M2B['ScrapQuant'].append(scr5)
except IndexError:
continue
elif elem=='M3A':
try:
t6= (((mktime(processStory[key][elem][1][0].timetuple()) - mktime(processStory[key][elem][0][0].timetuple())) / batchSize) / 60)
scr6=processStory[key][elem][0][1]-processStory[key][elem][1][1]
M3A['ProcTime'].append(t6)
M3A['ScrapQuant'].append(scr6)
except IndexError:
continue
elif elem=='M3B':
try:
t7= (((mktime(processStory[key][elem][1][0].timetuple()) - mktime(processStory[key][elem][0][0].timetuple())) / batchSize) / 60)
scr7=processStory[key][elem][0][1]-processStory[key][elem][1][1]
M3B['ProcTime'].append(t7)
M3B['ScrapQuant'].append(scr7)
except IndexError:
continue
elif elem=='CB':
try:
t8= (((mktime(processStory[key][elem][1][0].timetuple()) - mktime(processStory[key][elem][0][0].timetuple())) / batchSize) / 60)
scr8=processStory[key][elem][0][1]-processStory[key][elem][1][1]
CB['ProcTime'].append(t8)
CB['ScrapQuant'].append(scr8)
except IndexError:
continue
elif elem=='MM':
try:
t9= (((mktime(processStory[key][elem][1][0].timetuple()) - mktime(processStory[key][elem][0][0].timetuple())) / batchSize) / 60)
scr9=processStory[key][elem][0][1]-processStory[key][elem][1][1]
MM['ProcTime'].append(t9)
MM['ScrapQuant'].append(scr9)
except IndexError:
continue
elif elem=='FL':
try:
t10= (((mktime(processStory[key][elem][1][0].timetuple()) - mktime(processStory[key][elem][0][0].timetuple())) / batchSize) / 60)
scr10=processStory[key][elem][0][1]-processStory[key][elem][1][1]
FL['ProcTime'].append(t10)
FL['ScrapQuant'].append(scr10)
except IndexError:
continue
elif elem=='PrA':
try:
t11= (((mktime(processStory[key][elem][1][0].timetuple()) - mktime(processStory[key][elem][0][0].timetuple())) / batchSize) / 60)
scr11=processStory[key][elem][0][1]-processStory[key][elem][1][1]
PrA['ProcTime'].append(t11)
PrA['ScrapQuant'].append(scr11)
except IndexError:
continue
elif elem=='PrB':
try:
t12= (((mktime(processStory[key][elem][1][0].timetuple()) - mktime(processStory[key][elem][0][0].timetuple())) / batchSize) / 60)
scr12=processStory[key][elem][0][1]-processStory[key][elem][1][1]
PrB['ProcTime'].append(t12)
PrB['ScrapQuant'].append(scr12)
except IndexError:
continue
elif elem=='PaA':
try:
t13= (((mktime(processStory[key][elem][1][0].timetuple()) - mktime(processStory[key][elem][0][0].timetuple())) / batchSize) / 60)
scr13=processStory[key][elem][0][1]-processStory[key][elem][1][1]
PaA['ProcTime'].append(t13)
PaA['ScrapQuant'].append(scr13)
except IndexError:
continue
elif elem=='Pb':
try:
t14= (((mktime(processStory[key][elem][1][0].timetuple()) - mktime(processStory[key][elem][0][0].timetuple())) / batchSize) / 60)
scr14=processStory[key][elem][0][1]-processStory[key][elem][1][1]
Pb['ProcTime'].append(t14)
Pb['ScrapQuant'].append(scr14)
except IndexError:
continue
#Call the HandleMissingValues object and delete the missing values in the lists with the scrap quantity and processing times data
B= HandleMissingValues()
MA_Scrap= B.DeleteMissingValue(MA.get('ScrapQuant',[]))
MA_Proc= B.DeleteMissingValue(MA.get('ProcTime',[]))
M1A_Scrap= B.DeleteMissingValue(M1A.get('ScrapQuant',[]))
M1A_Proc= B.DeleteMissingValue(M1A.get('ProcTime',[]))
M1B_Scrap= B.DeleteMissingValue(M1B.get('ScrapQuant',[]))
M1B_Proc= B.DeleteMissingValue(M1B.get('ProcTime',[]))
M2A_Scrap= B.DeleteMissingValue(M2A.get('ScrapQuant',[]))
M2A_Proc= B.DeleteMissingValue(M2A.get('ProcTime',[]))
M2B_Scrap= B.DeleteMissingValue(M2B.get('ScrapQuant',[]))
M2B_Proc= B.DeleteMissingValue(M2B.get('ProcTime',[]))
M3A_Scrap= B.DeleteMissingValue(M3A.get('ScrapQuant',[]))
M3A_Proc= B.DeleteMissingValue(M3A.get('ProcTime',[]))
M3B_Scrap= B.DeleteMissingValue(M3B.get('ScrapQuant',[]))
M3B_Proc= B.DeleteMissingValue(M3B.get('ProcTime',[]))
M3B_Scrap= B.DeleteMissingValue(M3B.get('ScrapQuant',[]))
CB_Proc= B.DeleteMissingValue(CB.get('ProcTime',[]))
CB_Scrap= B.DeleteMissingValue(CB.get('ScrapQuant',[]))
MM_Scrap= B.DeleteMissingValue(MM.get('ScrapQuant',[]))
MM_Proc= B.DeleteMissingValue(MM.get('ProcTime',[]))
FL_Proc= B.DeleteMissingValue(FL.get('ProcTime',[]))
FL_Scrap= B.DeleteMissingValue(FL.get('ScrapQuant',[]))
PrA_Scrap= B.DeleteMissingValue(PrA.get('ScrapQuant',[]))
PrA_Proc= B.DeleteMissingValue(PrA.get('ProcTime',[]))
PrB_Scrap= B.DeleteMissingValue(PrB.get('ScrapQuant',[]))
PrB_Proc= B.DeleteMissingValue(PrB.get('ProcTime',[]))
PaA_Scrap= B.DeleteMissingValue(PaA.get('ScrapQuant',[]))
PaA_Proc= B.DeleteMissingValue(PaA.get('ProcTime',[]))
Pb_Scrap= B.DeleteMissingValue(Pb.get('ScrapQuant',[]))
Pb_Proc= B.DeleteMissingValue(Pb.get('ProcTime',[]))
#Call the HandleOutliers object and delete the outliers in the lists with the processing times data of each station
C= HandleOutliers()
MA_Proc= C.DeleteOutliers(MA_Proc)
M1A_Proc= C.DeleteOutliers(M1A_Proc)
M1B_Proc= C.DeleteOutliers(M1B_Proc)
M2A_Proc= C.DeleteOutliers(M2A_Proc)
M2B_Proc= C.DeleteOutliers(M2B_Proc)
M3A_Proc= C.DeleteOutliers(M3A_Proc)
M3B_Proc= C.DeleteOutliers(M3B_Proc)
CB_Proc= C.DeleteOutliers(CB_Proc)
FL_Proc= C.DeleteOutliers(FL_Proc)
M3B_Proc= C.DeleteOutliers(M3B_Proc)
PrA_Proc= C.DeleteOutliers(PrA_Proc)
PrB_Proc= C.DeleteOutliers(PrB_Proc)
PaA_Proc= C.DeleteOutliers(PaA_Proc)
Pb_Proc= C.DeleteOutliers(Pb_Proc)
# Call the DistFittest object and conduct Kolmogorov-Smirnov distribution fitting test in the processing times lists of each station
D=DistFittest()
dictProc={} #Create a dictionary that holds the statistical distributions of the processing times of each station
dictProc['MA']= D.ks_test(MA_Proc)
dictProc['M1A']= D.ks_test(M1A_Proc)
dictProc['M1B']= D.ks_test(M1B_Proc)
dictProc['M2A']= D.ks_test(M2A_Proc)
dictProc['M2B']= D.ks_test(M2B_Proc)
dictProc['M3A']= D.ks_test(M3A_Proc)
dictProc['M3B']= D.ks_test(M3B_Proc)
dictProc['CB']= D.ks_test(CB_Proc)
dictProc['MM']= D.ks_test(MM_Proc)
dictProc['FL']= D.ks_test(FL_Proc)
dictProc['PrA']= D.ks_test(PrA_Proc)
dictProc['PrB']= D.ks_test(PrB_Proc)
dictProc['PaA']= D.ks_test(PaA_Proc)
dictProc['Pb']= D.ks_test(Pb_Proc)
#Call the Distributions object and fit (using the Maximum Likelihood Estimation) the lists with the scrap quantity into a discrete statistical distribution, i.e. Geometric distribution
D=Distributions()
dictScrap={} #Create a dictionary that holds the Geometric, which is a discrete statistical distribution of the processing times of each station
dictScrap['MA']= D.Geometric_distrfit(MA_Scrap)
dictScrap['M1A']= D.Geometric_distrfit(M1A_Scrap)
dictScrap['M1B']= D.Geometric_distrfit(M1B_Scrap)
dictScrap['M2A']= D.Geometric_distrfit(M2A_Scrap)
dictScrap['M2B']= D.Geometric_distrfit(M2B_Scrap)
dictScrap['M3A']= D.Geometric_distrfit(M3A_Scrap)
dictScrap['M3B']= D.Geometric_distrfit(M3B_Scrap)
dictScrap['CB']= D.Geometric_distrfit(CB_Scrap)
dictScrap['MM']= D.Geometric_distrfit(MM_Scrap)
dictScrap['FL']= D.Geometric_distrfit(FL_Scrap)
dictScrap['PrA']= D.Geometric_distrfit(PrA_Scrap)
dictScrap['PrB']= D.Geometric_distrfit(PrB_Scrap)
dictScrap['PaA']= D.Geometric_distrfit(PaA_Scrap)
dictScrap['Pb']= D.Geometric_distrfit(Pb_Scrap)
# ===========================================================================
# Copyright 2013 University of Limerick
#
# This file is part of DREAM.
#
# DREAM is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# DREAM is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with DREAM. If not, see <http://www.gnu.org/licenses/>.
# ===========================================================================
# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
try:
__import__('pkg_resources').declare_namespace(__name__)
except ImportError:
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
\ 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