I'm not sure if I am in the right place to ask this question. Please tell me if I'm not. I have the following problem: I have a production process, where a product first has to be produced, it is then stored, and packed afterwards. Hence, it can be seen as that the product has to go through two machines in series. However, there are several producing machines, and several packing machines (thus, in parallel). Also, not all products are compatible with all machines, and they have different producing and packing times on the machines. Now, I'm trying to implement the shortest/longest processing time first scheduling rule. However, I'm not sure what rules should be applied. For now, I have it like this: A product with the shortest/longest processing time on a machine can go first. However, this does not take into account the packing time. It can be that the product with the shortest producing time, has a very high packing time, and hence, it causes that the other products may have to wait very long before they can be assigned to a packing machine. Since there are so many assignments possible, because of the parallel AND series machines, different processing times on machines etc., I'm not sure how to implement these rules in my case. Any suggestions? 
How to model shortest/longest processing time first on machines in parallel and series
scheduling;production;process