Mixed-Integer Linear Programming (Capacity Planning)Single reference for Mixed Integer Programming...

What kind of liquid can be seen 'leaking' from the upper surface of the wing of a Boeing 737-800?

Markov-chain sentence generator in Python

Should I email my professor about a recommendation letter if he has offered me a job?

Dogfights in outer space

Scam? Phone call from "Department of Social Security" asking me to call back

Why are Tucker and Malcolm not dead?

Swap on SSD in 2019?

Is there any way to stop a user from creating executables and running them?

How big are the Choedan Kal?

Escape Velocity - Won't the orbital path just become larger with higher initial velocity?

Reimplementation of min() in Python

Do I have to cite common CS algorithms?

Is this n-speak?

How to find directories containing only specific files

Does EU compensation apply to flights where the departure airport closes check-in counters during protests?

Can lodestones be used to magnetize crude iron weapons?

Chunk + Enumerate a list of digits

Why is Python 2.7 still the default Python version in Ubuntu?

What is the farthest a camera can see?

Help, I cannot decide when to start the story

Lípínguapua dopo Pêpê

My cat is a houdini

How do some PhD students get 10+ papers? Is that what I need for landing good faculty position?

What sort of psychological changes could be made to a genetically engineered human



Mixed-Integer Linear Programming (Capacity Planning)


Single reference for Mixed Integer Programming formulations to linearize, handle logical constraints and disjunctive constraints, do Big M, etc?Application of complex numbers in Linear Programming?Heuristics for mixed integer linear and nonlinear programsHow to write a mixed-integer linear programming formulation in Python using Gurobi?Mathematically creating the 'perfect' permutation for reservations in a hostelPricing of blends/mixtures across multiple timestepsFormulation of a constraint in a MIP for an element in different SetsRunning a linear programming model to maximize binned predictionsComplexity of verifying optimality in (mixed) integer programmingStatic stochastic knapsack problem: unbounded version













10












$begingroup$


I'm currently developing a small capacity planning problem and right now I am struggling with the "activation" of a subset. Needless to say I am not an expert in this kind of things.



I have a set of $iin I$ products. Each product $i$ can be produced by $p∈P_i$ processes. Each process $p$ requires a set of different machines $w∈W_p$. Decision variable $x_{tip}$ represents the quantity of product $i$ produced in period $t$ through process $p$. The quantity is subject to change in each period to satisfy the demand $D_{ti}$. However, the company must stick to the process selected in $t=1$ for the whole planning period $T$. This is indicated by the binary variable $u_{tip}$. I already formulated the relevant constraints to force this behavior:



$$x_{tip} le u_{tip}cdot M quad quad forall t in T,iin I, p in P_i$$
$$u_{tip} = u_{t+1ip} quad quad forall t in T,iin I, p in P_i$$



$$sum_{p∈P_i} u_{tip} le 1 quad quad forall t in T,iin I$$
$$u_{tip} in {0,1}quad quad forall t in T,iin I, p in P_i$$



So now I want to use $u_{tip}$ to activate all machines that are required for the selected process $p$. However, I am at my wit's end and just have no clue how to implement this behavior linearly.



Example:
Assume we have a product $i=1$ that can be produced by processes $P_1in{1,3}$. Disregarding the other products, process $1$ is selected for product $1$, so $u_{t11}=1$. Process $1$ requires machines $W_1 in {2,3}$. Is there a way to use a new indicator variable, e.g. $y_{tiw}$, to "activate" all machines $w in W_1$ for product $1$?



As I try to minimize my set-up costs, I need to know whether a machine $w$ is used by a product $i$ in period $t$. I tried it with
$$u_{tip} le y_{tiw} quad quad forall t in T, i in I, p in P_i, w in W_i$$
but after toying around I don't think this works. Note that every process $p$ may have a different no. of required machines $w$.



As I said I am currently struggling to find a way to make this work linearly. I tried to find similar papers in the operations management literature but that wasn't successful either. I would gladly appreciate any help or hints/references on similar work. Thank you!










share|improve this question









New contributor



Paroth is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






$endgroup$










  • 2




    $begingroup$
    Hi @Paroth, welcome to OR.SE. Is the number of machines required for each process given? And are different processes share some machines?
    $endgroup$
    – Oguz Toragay
    23 hours ago






  • 1




    $begingroup$
    Hi @OguzToragay, thank you for your response. Yes, the number is given, so basically I assume that the company has total information about which process requires which machine. Yes, processes can share the same machine, too.
    $endgroup$
    – Paroth
    22 hours ago








  • 1




    $begingroup$
    Beside the answer another approach comes to my mind: you may find the index of the selected process for each $i$ and use the dataset that you have to put the summation of all $q_{pk}$ equal to $|p|$ which hasbeen selected in period $t$.
    $endgroup$
    – Oguz Toragay
    20 hours ago










  • $begingroup$
    If $u$ is required to be the same across $t$, why not omit that index and just use $u_{ip}$ everywhere instead?
    $endgroup$
    – Rob Pratt
    14 hours ago










  • $begingroup$
    I am building a base model which i want to extend later on, where the company can change the process throghout the planning period. So you are right, it isn't necessary in this specific model, but I will need it later on.
    $endgroup$
    – Paroth
    13 hours ago
















10












$begingroup$


I'm currently developing a small capacity planning problem and right now I am struggling with the "activation" of a subset. Needless to say I am not an expert in this kind of things.



I have a set of $iin I$ products. Each product $i$ can be produced by $p∈P_i$ processes. Each process $p$ requires a set of different machines $w∈W_p$. Decision variable $x_{tip}$ represents the quantity of product $i$ produced in period $t$ through process $p$. The quantity is subject to change in each period to satisfy the demand $D_{ti}$. However, the company must stick to the process selected in $t=1$ for the whole planning period $T$. This is indicated by the binary variable $u_{tip}$. I already formulated the relevant constraints to force this behavior:



$$x_{tip} le u_{tip}cdot M quad quad forall t in T,iin I, p in P_i$$
$$u_{tip} = u_{t+1ip} quad quad forall t in T,iin I, p in P_i$$



$$sum_{p∈P_i} u_{tip} le 1 quad quad forall t in T,iin I$$
$$u_{tip} in {0,1}quad quad forall t in T,iin I, p in P_i$$



So now I want to use $u_{tip}$ to activate all machines that are required for the selected process $p$. However, I am at my wit's end and just have no clue how to implement this behavior linearly.



Example:
Assume we have a product $i=1$ that can be produced by processes $P_1in{1,3}$. Disregarding the other products, process $1$ is selected for product $1$, so $u_{t11}=1$. Process $1$ requires machines $W_1 in {2,3}$. Is there a way to use a new indicator variable, e.g. $y_{tiw}$, to "activate" all machines $w in W_1$ for product $1$?



As I try to minimize my set-up costs, I need to know whether a machine $w$ is used by a product $i$ in period $t$. I tried it with
$$u_{tip} le y_{tiw} quad quad forall t in T, i in I, p in P_i, w in W_i$$
but after toying around I don't think this works. Note that every process $p$ may have a different no. of required machines $w$.



As I said I am currently struggling to find a way to make this work linearly. I tried to find similar papers in the operations management literature but that wasn't successful either. I would gladly appreciate any help or hints/references on similar work. Thank you!










share|improve this question









New contributor



Paroth is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






$endgroup$










  • 2




    $begingroup$
    Hi @Paroth, welcome to OR.SE. Is the number of machines required for each process given? And are different processes share some machines?
    $endgroup$
    – Oguz Toragay
    23 hours ago






  • 1




    $begingroup$
    Hi @OguzToragay, thank you for your response. Yes, the number is given, so basically I assume that the company has total information about which process requires which machine. Yes, processes can share the same machine, too.
    $endgroup$
    – Paroth
    22 hours ago








  • 1




    $begingroup$
    Beside the answer another approach comes to my mind: you may find the index of the selected process for each $i$ and use the dataset that you have to put the summation of all $q_{pk}$ equal to $|p|$ which hasbeen selected in period $t$.
    $endgroup$
    – Oguz Toragay
    20 hours ago










  • $begingroup$
    If $u$ is required to be the same across $t$, why not omit that index and just use $u_{ip}$ everywhere instead?
    $endgroup$
    – Rob Pratt
    14 hours ago










  • $begingroup$
    I am building a base model which i want to extend later on, where the company can change the process throghout the planning period. So you are right, it isn't necessary in this specific model, but I will need it later on.
    $endgroup$
    – Paroth
    13 hours ago














10












10








10





$begingroup$


I'm currently developing a small capacity planning problem and right now I am struggling with the "activation" of a subset. Needless to say I am not an expert in this kind of things.



I have a set of $iin I$ products. Each product $i$ can be produced by $p∈P_i$ processes. Each process $p$ requires a set of different machines $w∈W_p$. Decision variable $x_{tip}$ represents the quantity of product $i$ produced in period $t$ through process $p$. The quantity is subject to change in each period to satisfy the demand $D_{ti}$. However, the company must stick to the process selected in $t=1$ for the whole planning period $T$. This is indicated by the binary variable $u_{tip}$. I already formulated the relevant constraints to force this behavior:



$$x_{tip} le u_{tip}cdot M quad quad forall t in T,iin I, p in P_i$$
$$u_{tip} = u_{t+1ip} quad quad forall t in T,iin I, p in P_i$$



$$sum_{p∈P_i} u_{tip} le 1 quad quad forall t in T,iin I$$
$$u_{tip} in {0,1}quad quad forall t in T,iin I, p in P_i$$



So now I want to use $u_{tip}$ to activate all machines that are required for the selected process $p$. However, I am at my wit's end and just have no clue how to implement this behavior linearly.



Example:
Assume we have a product $i=1$ that can be produced by processes $P_1in{1,3}$. Disregarding the other products, process $1$ is selected for product $1$, so $u_{t11}=1$. Process $1$ requires machines $W_1 in {2,3}$. Is there a way to use a new indicator variable, e.g. $y_{tiw}$, to "activate" all machines $w in W_1$ for product $1$?



As I try to minimize my set-up costs, I need to know whether a machine $w$ is used by a product $i$ in period $t$. I tried it with
$$u_{tip} le y_{tiw} quad quad forall t in T, i in I, p in P_i, w in W_i$$
but after toying around I don't think this works. Note that every process $p$ may have a different no. of required machines $w$.



As I said I am currently struggling to find a way to make this work linearly. I tried to find similar papers in the operations management literature but that wasn't successful either. I would gladly appreciate any help or hints/references on similar work. Thank you!










share|improve this question









New contributor



Paroth is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






$endgroup$




I'm currently developing a small capacity planning problem and right now I am struggling with the "activation" of a subset. Needless to say I am not an expert in this kind of things.



I have a set of $iin I$ products. Each product $i$ can be produced by $p∈P_i$ processes. Each process $p$ requires a set of different machines $w∈W_p$. Decision variable $x_{tip}$ represents the quantity of product $i$ produced in period $t$ through process $p$. The quantity is subject to change in each period to satisfy the demand $D_{ti}$. However, the company must stick to the process selected in $t=1$ for the whole planning period $T$. This is indicated by the binary variable $u_{tip}$. I already formulated the relevant constraints to force this behavior:



$$x_{tip} le u_{tip}cdot M quad quad forall t in T,iin I, p in P_i$$
$$u_{tip} = u_{t+1ip} quad quad forall t in T,iin I, p in P_i$$



$$sum_{p∈P_i} u_{tip} le 1 quad quad forall t in T,iin I$$
$$u_{tip} in {0,1}quad quad forall t in T,iin I, p in P_i$$



So now I want to use $u_{tip}$ to activate all machines that are required for the selected process $p$. However, I am at my wit's end and just have no clue how to implement this behavior linearly.



Example:
Assume we have a product $i=1$ that can be produced by processes $P_1in{1,3}$. Disregarding the other products, process $1$ is selected for product $1$, so $u_{t11}=1$. Process $1$ requires machines $W_1 in {2,3}$. Is there a way to use a new indicator variable, e.g. $y_{tiw}$, to "activate" all machines $w in W_1$ for product $1$?



As I try to minimize my set-up costs, I need to know whether a machine $w$ is used by a product $i$ in period $t$. I tried it with
$$u_{tip} le y_{tiw} quad quad forall t in T, i in I, p in P_i, w in W_i$$
but after toying around I don't think this works. Note that every process $p$ may have a different no. of required machines $w$.



As I said I am currently struggling to find a way to make this work linearly. I tried to find similar papers in the operations management literature but that wasn't successful either. I would gladly appreciate any help or hints/references on similar work. Thank you!







mixed-integer-programming linear-programming reference-request






share|improve this question









New contributor



Paroth is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.










share|improve this question









New contributor



Paroth is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








share|improve this question




share|improve this question








edited yesterday









TheSimpliFire

1,9266 silver badges37 bronze badges




1,9266 silver badges37 bronze badges






New contributor



Paroth is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








asked yesterday









ParothParoth

535 bronze badges




535 bronze badges




New contributor



Paroth is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




New contributor




Paroth is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.













  • 2




    $begingroup$
    Hi @Paroth, welcome to OR.SE. Is the number of machines required for each process given? And are different processes share some machines?
    $endgroup$
    – Oguz Toragay
    23 hours ago






  • 1




    $begingroup$
    Hi @OguzToragay, thank you for your response. Yes, the number is given, so basically I assume that the company has total information about which process requires which machine. Yes, processes can share the same machine, too.
    $endgroup$
    – Paroth
    22 hours ago








  • 1




    $begingroup$
    Beside the answer another approach comes to my mind: you may find the index of the selected process for each $i$ and use the dataset that you have to put the summation of all $q_{pk}$ equal to $|p|$ which hasbeen selected in period $t$.
    $endgroup$
    – Oguz Toragay
    20 hours ago










  • $begingroup$
    If $u$ is required to be the same across $t$, why not omit that index and just use $u_{ip}$ everywhere instead?
    $endgroup$
    – Rob Pratt
    14 hours ago










  • $begingroup$
    I am building a base model which i want to extend later on, where the company can change the process throghout the planning period. So you are right, it isn't necessary in this specific model, but I will need it later on.
    $endgroup$
    – Paroth
    13 hours ago














  • 2




    $begingroup$
    Hi @Paroth, welcome to OR.SE. Is the number of machines required for each process given? And are different processes share some machines?
    $endgroup$
    – Oguz Toragay
    23 hours ago






  • 1




    $begingroup$
    Hi @OguzToragay, thank you for your response. Yes, the number is given, so basically I assume that the company has total information about which process requires which machine. Yes, processes can share the same machine, too.
    $endgroup$
    – Paroth
    22 hours ago








  • 1




    $begingroup$
    Beside the answer another approach comes to my mind: you may find the index of the selected process for each $i$ and use the dataset that you have to put the summation of all $q_{pk}$ equal to $|p|$ which hasbeen selected in period $t$.
    $endgroup$
    – Oguz Toragay
    20 hours ago










  • $begingroup$
    If $u$ is required to be the same across $t$, why not omit that index and just use $u_{ip}$ everywhere instead?
    $endgroup$
    – Rob Pratt
    14 hours ago










  • $begingroup$
    I am building a base model which i want to extend later on, where the company can change the process throghout the planning period. So you are right, it isn't necessary in this specific model, but I will need it later on.
    $endgroup$
    – Paroth
    13 hours ago








2




2




$begingroup$
Hi @Paroth, welcome to OR.SE. Is the number of machines required for each process given? And are different processes share some machines?
$endgroup$
– Oguz Toragay
23 hours ago




$begingroup$
Hi @Paroth, welcome to OR.SE. Is the number of machines required for each process given? And are different processes share some machines?
$endgroup$
– Oguz Toragay
23 hours ago




1




1




$begingroup$
Hi @OguzToragay, thank you for your response. Yes, the number is given, so basically I assume that the company has total information about which process requires which machine. Yes, processes can share the same machine, too.
$endgroup$
– Paroth
22 hours ago






$begingroup$
Hi @OguzToragay, thank you for your response. Yes, the number is given, so basically I assume that the company has total information about which process requires which machine. Yes, processes can share the same machine, too.
$endgroup$
– Paroth
22 hours ago






1




1




$begingroup$
Beside the answer another approach comes to my mind: you may find the index of the selected process for each $i$ and use the dataset that you have to put the summation of all $q_{pk}$ equal to $|p|$ which hasbeen selected in period $t$.
$endgroup$
– Oguz Toragay
20 hours ago




$begingroup$
Beside the answer another approach comes to my mind: you may find the index of the selected process for each $i$ and use the dataset that you have to put the summation of all $q_{pk}$ equal to $|p|$ which hasbeen selected in period $t$.
$endgroup$
– Oguz Toragay
20 hours ago












$begingroup$
If $u$ is required to be the same across $t$, why not omit that index and just use $u_{ip}$ everywhere instead?
$endgroup$
– Rob Pratt
14 hours ago




$begingroup$
If $u$ is required to be the same across $t$, why not omit that index and just use $u_{ip}$ everywhere instead?
$endgroup$
– Rob Pratt
14 hours ago












$begingroup$
I am building a base model which i want to extend later on, where the company can change the process throghout the planning period. So you are right, it isn't necessary in this specific model, but I will need it later on.
$endgroup$
– Paroth
13 hours ago




$begingroup$
I am building a base model which i want to extend later on, where the company can change the process throghout the planning period. So you are right, it isn't necessary in this specific model, but I will need it later on.
$endgroup$
– Paroth
13 hours ago










1 Answer
1






active

oldest

votes


















5












$begingroup$

$I$: Number of products



$|P_i|$: Number of available processes for product $i$



$|p|$: Number of machines in each process $p$



You can define two new binary variables for each $k$ machine as follow:



$s_{tipk} = left{begin{array}{l}1 & text{if machine $k$ in time $t$ under process $p$ is working on product $i$}\0 & text{otherwise}end{array}right.$



$q_{pk} = left{begin{array}{l}1 & text{if machine $k$ is among the ones that are being used in process $p$}\0 & text{otherwise}end{array}right.$



Now you need to add the following constraints to the model:




  1. $sum_{iin I} s_{tipk} =1 forall t,k$ (each machine can produce only one type of product at each time period)


  2. $sum_{k} q_{pk} =|p|*u_{tip} forall i,t$


  3. $s_{tipk} leq q_{pk} forall t,k,i,p$



I believe this answer will give you at least some hints on how to model the problem (if it hasn't already covered all the necessary details).






share|improve this answer









$endgroup$















  • $begingroup$
    Your suggestion looks really promising and helps me alot! So if we assume that a machine $w$ can produce more than one product $i$ in period $t$, i might think that the proposed solution can be shortened. A possible solution to my problem (with binary variable $y_{tipw}$ indicating whether machine $w$ is activated through process $p$) can be formulated as follows: $$sum_{w in W_p} y_{tipw} = |p| cdot u_{tip} qquadforall tin T, i in I, p in P_i$$ Is this a viable formulation or am I missing something?
    $endgroup$
    – Paroth
    18 hours ago
















Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "700"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});






Paroth is a new contributor. Be nice, and check out our Code of Conduct.










draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2for.stackexchange.com%2fquestions%2f1260%2fmixed-integer-linear-programming-capacity-planning%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









5












$begingroup$

$I$: Number of products



$|P_i|$: Number of available processes for product $i$



$|p|$: Number of machines in each process $p$



You can define two new binary variables for each $k$ machine as follow:



$s_{tipk} = left{begin{array}{l}1 & text{if machine $k$ in time $t$ under process $p$ is working on product $i$}\0 & text{otherwise}end{array}right.$



$q_{pk} = left{begin{array}{l}1 & text{if machine $k$ is among the ones that are being used in process $p$}\0 & text{otherwise}end{array}right.$



Now you need to add the following constraints to the model:




  1. $sum_{iin I} s_{tipk} =1 forall t,k$ (each machine can produce only one type of product at each time period)


  2. $sum_{k} q_{pk} =|p|*u_{tip} forall i,t$


  3. $s_{tipk} leq q_{pk} forall t,k,i,p$



I believe this answer will give you at least some hints on how to model the problem (if it hasn't already covered all the necessary details).






share|improve this answer









$endgroup$















  • $begingroup$
    Your suggestion looks really promising and helps me alot! So if we assume that a machine $w$ can produce more than one product $i$ in period $t$, i might think that the proposed solution can be shortened. A possible solution to my problem (with binary variable $y_{tipw}$ indicating whether machine $w$ is activated through process $p$) can be formulated as follows: $$sum_{w in W_p} y_{tipw} = |p| cdot u_{tip} qquadforall tin T, i in I, p in P_i$$ Is this a viable formulation or am I missing something?
    $endgroup$
    – Paroth
    18 hours ago


















5












$begingroup$

$I$: Number of products



$|P_i|$: Number of available processes for product $i$



$|p|$: Number of machines in each process $p$



You can define two new binary variables for each $k$ machine as follow:



$s_{tipk} = left{begin{array}{l}1 & text{if machine $k$ in time $t$ under process $p$ is working on product $i$}\0 & text{otherwise}end{array}right.$



$q_{pk} = left{begin{array}{l}1 & text{if machine $k$ is among the ones that are being used in process $p$}\0 & text{otherwise}end{array}right.$



Now you need to add the following constraints to the model:




  1. $sum_{iin I} s_{tipk} =1 forall t,k$ (each machine can produce only one type of product at each time period)


  2. $sum_{k} q_{pk} =|p|*u_{tip} forall i,t$


  3. $s_{tipk} leq q_{pk} forall t,k,i,p$



I believe this answer will give you at least some hints on how to model the problem (if it hasn't already covered all the necessary details).






share|improve this answer









$endgroup$















  • $begingroup$
    Your suggestion looks really promising and helps me alot! So if we assume that a machine $w$ can produce more than one product $i$ in period $t$, i might think that the proposed solution can be shortened. A possible solution to my problem (with binary variable $y_{tipw}$ indicating whether machine $w$ is activated through process $p$) can be formulated as follows: $$sum_{w in W_p} y_{tipw} = |p| cdot u_{tip} qquadforall tin T, i in I, p in P_i$$ Is this a viable formulation or am I missing something?
    $endgroup$
    – Paroth
    18 hours ago
















5












5








5





$begingroup$

$I$: Number of products



$|P_i|$: Number of available processes for product $i$



$|p|$: Number of machines in each process $p$



You can define two new binary variables for each $k$ machine as follow:



$s_{tipk} = left{begin{array}{l}1 & text{if machine $k$ in time $t$ under process $p$ is working on product $i$}\0 & text{otherwise}end{array}right.$



$q_{pk} = left{begin{array}{l}1 & text{if machine $k$ is among the ones that are being used in process $p$}\0 & text{otherwise}end{array}right.$



Now you need to add the following constraints to the model:




  1. $sum_{iin I} s_{tipk} =1 forall t,k$ (each machine can produce only one type of product at each time period)


  2. $sum_{k} q_{pk} =|p|*u_{tip} forall i,t$


  3. $s_{tipk} leq q_{pk} forall t,k,i,p$



I believe this answer will give you at least some hints on how to model the problem (if it hasn't already covered all the necessary details).






share|improve this answer









$endgroup$



$I$: Number of products



$|P_i|$: Number of available processes for product $i$



$|p|$: Number of machines in each process $p$



You can define two new binary variables for each $k$ machine as follow:



$s_{tipk} = left{begin{array}{l}1 & text{if machine $k$ in time $t$ under process $p$ is working on product $i$}\0 & text{otherwise}end{array}right.$



$q_{pk} = left{begin{array}{l}1 & text{if machine $k$ is among the ones that are being used in process $p$}\0 & text{otherwise}end{array}right.$



Now you need to add the following constraints to the model:




  1. $sum_{iin I} s_{tipk} =1 forall t,k$ (each machine can produce only one type of product at each time period)


  2. $sum_{k} q_{pk} =|p|*u_{tip} forall i,t$


  3. $s_{tipk} leq q_{pk} forall t,k,i,p$



I believe this answer will give you at least some hints on how to model the problem (if it hasn't already covered all the necessary details).







share|improve this answer












share|improve this answer



share|improve this answer










answered 21 hours ago









Oguz ToragayOguz Toragay

2,1602 silver badges25 bronze badges




2,1602 silver badges25 bronze badges















  • $begingroup$
    Your suggestion looks really promising and helps me alot! So if we assume that a machine $w$ can produce more than one product $i$ in period $t$, i might think that the proposed solution can be shortened. A possible solution to my problem (with binary variable $y_{tipw}$ indicating whether machine $w$ is activated through process $p$) can be formulated as follows: $$sum_{w in W_p} y_{tipw} = |p| cdot u_{tip} qquadforall tin T, i in I, p in P_i$$ Is this a viable formulation or am I missing something?
    $endgroup$
    – Paroth
    18 hours ago




















  • $begingroup$
    Your suggestion looks really promising and helps me alot! So if we assume that a machine $w$ can produce more than one product $i$ in period $t$, i might think that the proposed solution can be shortened. A possible solution to my problem (with binary variable $y_{tipw}$ indicating whether machine $w$ is activated through process $p$) can be formulated as follows: $$sum_{w in W_p} y_{tipw} = |p| cdot u_{tip} qquadforall tin T, i in I, p in P_i$$ Is this a viable formulation or am I missing something?
    $endgroup$
    – Paroth
    18 hours ago


















$begingroup$
Your suggestion looks really promising and helps me alot! So if we assume that a machine $w$ can produce more than one product $i$ in period $t$, i might think that the proposed solution can be shortened. A possible solution to my problem (with binary variable $y_{tipw}$ indicating whether machine $w$ is activated through process $p$) can be formulated as follows: $$sum_{w in W_p} y_{tipw} = |p| cdot u_{tip} qquadforall tin T, i in I, p in P_i$$ Is this a viable formulation or am I missing something?
$endgroup$
– Paroth
18 hours ago






$begingroup$
Your suggestion looks really promising and helps me alot! So if we assume that a machine $w$ can produce more than one product $i$ in period $t$, i might think that the proposed solution can be shortened. A possible solution to my problem (with binary variable $y_{tipw}$ indicating whether machine $w$ is activated through process $p$) can be formulated as follows: $$sum_{w in W_p} y_{tipw} = |p| cdot u_{tip} qquadforall tin T, i in I, p in P_i$$ Is this a viable formulation or am I missing something?
$endgroup$
– Paroth
18 hours ago












Paroth is a new contributor. Be nice, and check out our Code of Conduct.










draft saved

draft discarded


















Paroth is a new contributor. Be nice, and check out our Code of Conduct.













Paroth is a new contributor. Be nice, and check out our Code of Conduct.












Paroth is a new contributor. Be nice, and check out our Code of Conduct.
















Thanks for contributing an answer to Operations Research Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2for.stackexchange.com%2fquestions%2f1260%2fmixed-integer-linear-programming-capacity-planning%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Taj Mahal Inhaltsverzeichnis Aufbau | Geschichte | 350-Jahr-Feier | Heutige Bedeutung | Siehe auch |...

Baia Sprie Cuprins Etimologie | Istorie | Demografie | Politică și administrație | Arii naturale...

Nicolae Petrescu-Găină Cuprins Biografie | Opera | In memoriam | Varia | Controverse, incertitudini...