Cancel
Showing results for 
Search instead for 
Did you mean: 

Order Optimization by due date

Creator
Creator

Hello!

 

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!

4 REPLIES

Betreff: Order Optimization by due date

Gears Phenom Gears Phenom
Gears Phenom

Hi Julianna,

first some notes on your model:

  1. Don't change the format of the Source-Input-Table. If you need more information, you can append columns, but you should not change the column-index/format of the pre-defined columns.
  2. Take a look at the Display-object to replace the 2 variables, if they are only used to display the output, then you don't need to program the EndSim method like this.
  3. Writing "Output1" in the init method has no effect (in case you thought it would: what did you want to do?)

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):

grafik.png

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:

grafik.png

Then you do this in the methods:

  • EntranceCtrl:
    if Orders["Start", @.OrderID] = void then
        Orders["Start", @.OrderID] := EventController.AbsSimTime;
    end;
  • ExitCtrl (rear):
    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.

Regards,
Alex

____________________________________________________________
Alex Dilg, Consultant at SimPlan AG (www.SimPlan.de)
This post was good and/or helpful to you? Please provide some Kudos, thank you!

Betreff: Order Optimization by due date

Creator
Creator

Thanks, Alex! 

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:

image.pngThis is a syntax error due to the version of the SimTalk or is it something else?

Betreff: Order Optimization by due date

Gears Phenom Gears Phenom
Gears Phenom

Hi Julianna,

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.

Regards,
Alex

____________________________________________________________
Alex Dilg, Consultant at SimPlan AG (www.SimPlan.de)
This post was good and/or helpful to you? Please provide some Kudos, thank you!

Betreff: Order Optimization by due date

Creator
Creator

Now it is fully working.

 

Thanks a lot, Alex!