I'm working on my course conclusion project which is a model to optimize the Order Sequence regarding its due date.
I have looked into the model Due Date Optimization provided by Siemens however I'm having trouble to undersantd how it is done.
- How to measure when a order starts to be produced (date: YEAR/MONTH/DAY)
- How to measure when it is finished; (date: YEAR/MONTH/DAY)
With that I could define the metric to optimize the model thorugh GA.
Is there any tool to use or a simpler model doing that I could take a look?
Attached is the example of my model (simplified as I'm just trying to make the GA work right now).
Thanks in advance!
Solved! Go to Solution.
first some notes on your model:
You could use the Attributes subtable to automatically assign a user-defined attribute OrderID to each MU, so that you know to which order it belongs (since you use the same Color/Name twice):
Then you can register the first and last production time in the Entrance- and Exit-Controls of the SingleProc, by creating a table like this:
Then you do this in the methods:
if Orders["Start", @.OrderID] = void then Orders["Start", @.OrderID] := EventController.AbsSimTime; end;
Orders["Finished", @.OrderID] := EventController.AbsSimTime;
If all orders were processed at the end of the simulation, the column "Finished" will show the time of completion for each order. If that is not the case, you would have to count the MU's in each order and only update that column for the last MU in each order.
I think that solves my problem.
I wrote the methods and assigned the attribute OrderID, but I'm receing the following error on the Start Method:
This is a syntax error due to the version of the SimTalk or is it something else?
assuming you are using SimTalk 2.0, you should not do a line break after the "if", just continue the condition in the same line. If you are using SimTalk 1.0, you would need "is do [...] end;" around your code, but also delete the line-break.