Consider I have two types of commands A and B which can be pipelined. Each of these types have a certain time duration and a value associated with it. For example,
A = <|"time"->180, "value"->5|>; B = <|"time"->60, "value"->1|>;
Minimum timing allowed of A and B is as follows
tAAsame = 180; (* Cmd_A (same) to Cmd_A (same) *) tAAdiff = 90; (* Cmd_A (diff) to Cmd_A (diff) *) tBBsame = 60; (* Cmd_B (same) to Cmd_B (same) *) tBBdiff = 10; (* Cmd_B (diff) to Cmd_B (diff) *) tABsame = 180; (* Cmd_A (same) to Cmd_B (same) *) tABdiff = 10; (* Cmd_A (diff) to Cmd_B (diff) *)
Now, consider I have commands:
A0, A1, B0, B1. I would like to fit these commands in time
1000s which maximizes the total value of the commands in that time duration.
I looked into
KnapSackSolve function but couldn't clearly think of how to input command to command timing constraint into it. Is there a way to input such information? if not what other ways are there to solve this command pipelining problem.