0

I got a question which is how to define the mode for below case, need your help to advice.

It's a kind of constraint resource planning like example of time fold assign cpu/ram to process. in my case the objective is to maximize the order (which consume resource), however, some order only needs one of part, but others need a combination of parts. I posted the example diagram below.

use case

to explain it, I have total four order (W,X,Y,Z),

  • order W, it needs 1 unit of A or B.
  • order X, it needs 1 unit of A or C.
  • order Y, it needs 2 unit of A and 3 unit of B, or it need 1 unit of E. you can image E is an assembled part which contains 2A+3B.
  • order Z, it needs 1 unit of A and 2 unit of C. or it need 1 unit of F. you can image F is an assembled part which contains 1A+2C.

the problem is to maximize total order(W,X,Y,Z) and the constraint can't allocate A,B,C,E,F more than total available qty. which A<=100,B<=30,C<=20,E<=2,F<=3.

I am able to put the order as planning entity, part as planning variable as 1 to 1 mapping for W,X , and put both A, B, C as the planning value range list into it.

however, when I think about Y and Z case, I don't know how to do it. seems 1 to 1 mapping is not possible for 2A+3B or 1A+2C.

my initial idea is to create a virtual part, V1 = 2A+3B, V2= 1A+2C. however, because it's a virtual part, then I have to initialize the available of V1 = min(A/2, B/3) and V2=min(A, C/2), but I faced the second problem is when time fold to assign planning variable to planning entity, I have to keep update the V1 and V2 available qty if A,B,C was assigned to other orders. but i didn't find there is a way to do that.

what should be the correct mode and how to create a planning variable based on another planning variable?

Rod
  • 1
  • 1

0 Answers0