I have the following question. I have just read this question and was wondering if it is possible to extend this problem. I am interested in whether it is also possible to identify which machine is being switched to which machine? For example, that in $t=2$ on machine $m=3$ the product $p$ is changed to machine $m=2$ in $t=4$, whereby on day $t=3$ the product was not on any machine. For example, by a binary variable $w_{mm't}$, where $m\neq m'$.
2 Answers
One way to do this is to define binary variables $x_{p,m,t},$ where $x_{p,m,t}=1$ if and only if as of time $t$ the most recent machine to process job $p$ (if any) was machine $m.$ So in your example you would have $x_{p,3,2}=1$ (job $p$ is processed on machine 3 on day 2), $x_{p,3,3}=1$ (the job is not being processed on day 3, so the most recent machine to process it is still machine 3), and $x_{p,2,4}=1$ (the job is being processed on machine 2 on day 4, so machine 2 is the now the most recent machine). You can then define $w$ via $$w_{p,m,m',t}\le x_{p,m,t-1}$$ $$w_{p,m,m',t}\le x_{p,m',t}$$ $$w_{p,m,m',t}\ge x_{p,m,t-1} + x_{p,m',t} - 1.$$
-
$\begingroup$ Thanks for your answer. I guess you mean $x_{p,3,2}=0$ correct? $\endgroup$nflgreaternba– nflgreaternba2024-07-15 20:34:30 +00:00Commented Jul 15, 2024 at 20:34
-
$\begingroup$ The wording of your example is a bit confusing. I took it to mean that $p$ is on machine 3 on day 2, not on any machine on day 3, and on machine 2 on day 4. If so, then $x_{p,3,2}$ should be 1, signalling that on day 2 $p$ has most recently been on machine 3 (where it currently is). If you meant something else, perhaps you could clarify your example. $\endgroup$2024-07-15 21:27:39 +00:00Commented Jul 15, 2024 at 21:27
-
$\begingroup$ I see thatnk you. And how would i define the new $x_{p,m,t}$ based on the post i mentioned in the OP? $\endgroup$nflgreaternba– nflgreaternba2024-07-16 09:31:15 +00:00Commented Jul 16, 2024 at 9:31
-
$\begingroup$ See the answer by @themaneater22. $\endgroup$2024-07-16 16:06:43 +00:00Commented Jul 16, 2024 at 16:06
Based on the anwser of @prubin and the answer to the question mentioned in the OP, the anwser using the same variable mentioned there looks like:
$$w_{p,t, m,m'} \leq d_{p,t, m}\quad \forall p\in P, t\in T, m\in M, m'\neq m$$ $$w_{p,t, m,m'} \leq s_{p,(t-1), m'}\quad \forall p\in P, t\in \{2,...,T\}, m\in M, m'\neq m$$ $$w_{p,t, m,m'} \geq (d_{p,t, m}+ s_{p,(t-1), m'})-1\quad \forall p\in P, t\in \{2,...,T\}, m\in M, m'\neq m$$
This ensures, that if there is a change from $m'$ to $m$, this will be identified. Then you can sum up all values of $w_{p,t, m,m'}$ and then the sum will be exactly equal to 1 if there was a change and 0 if there was none.