Flow 3 machines 2 manipulators <p>I have 3 machines <code>Mach1</code>, <code>Mach2</code>, <code>Mach3</code> and 2 manipulators <code>Man1</code>, <code>Man2</code></p> <p><code>Man1</code> handles <code>Mach1</code> and <code>Mach3</code></p> <p><code>Man2</code> handles <code>Mach2</code> and <code>Mach3</code>, so there is one common Machine</p> <p>each Machine has cycle time <code>Tmach</code>, each manipulator has service time <code>Tservice</code>.</p> <p>Service times often differs due to some problems during servicing etc.</p> <p>Machine cycle times are in most cases constant, but they are unknown at the start of system.</p> <p><strong>The question is:</strong> How to optimize flow for this system? What algorithms can be used? Each reference is valuable, but the best is pseudo code.</p> <p>Stupid solution for the problem is: Start <code>Man1</code> handle <code>Mach3</code>, <code>Man2</code> handle <code>Mach2</code> then <code>Man1</code> handle <code>Mach1</code> and <code>Man2</code> handle <code>Mach3</code> and so on...</p> <p>It is quite ok, but when handling times starts to differ, flow is not optimal.</p> <p>//Edit thanks @j_random_hacker for questions that helps to specify problem more clearly</p> <p>Manipulator is for example industrial robot</p> <p>Cycle time means time of processing part on a machine</p> <p>Service time means time in which robot handles machine it can differ due to waiting for part to be loaded, positioning part etc.</p> <p>Each machine is the same, but manipulators can reach only specified machines</p> <p>Jobs are qued so there are always jobs to be done Each job is processed in one cycle Processing can not and must not be splited</p>