Conditional Controls in MIP Models

Innocently cross-posted at Mathematics SE

I am developing a model that operates in the realm of mixed integer programming, although I am fairly unfamiliar with this area of mathematics at the moment. I am hoping to get some clarification on whether my idea can function within the contexts of integer programming. I will provide a picture to an article to help clarify my question.

In the formulation below, the chi variable can be either 0 or 1 to indicate if the cell (i,j) received herbicide treatment or not. I will try to frame the question in relation to this equation for the sake of being on the same page.

So... suppose that in addition to herbicide treatment there was an additional type of treatment that can be applied (for the sake of example suppose it's clearing the invasive species by hand). Whether treatment by herbicide or treatment by hand is chosen would be dependent on a number of various factors, but the new problem is such that you need to somehow incorporate the additional treatment measure into the formulation of equation (9). So do you think that the introduction of a second treatment variable (or perhaps some type of logical conditional treatment variable) would be feasible, or can mixed integer programming models only handle one type of control at a time?

• MIP models can definitely handle more than one type of control at a type, but it sometimes involves some subtle modeling. If you provide more detail about what you are trying to do, we can try to help. Also, note that OR.SE has MathJax, so you can use it to format the math in your question. – LarrySnyder610 Jun 13 '19 at 14:48
• I am still in the pretty early phases of structuring the model so I didn't want to give away my exact problem in order to make it easier on myself. Just knowing that having multiple controls in the problem is capable within an MIP framework is enough to get me going. I just didn't want to invest a bunch of time in writing some math down just to find out that I might not have been able to do it from the get go. – GrayLiterature Jun 13 '19 at 16:44
• @oguz toragay's answer gives some examples of the kinds of things you can do in that direction. Other questions on this site (e.g., here and here) will give you some other examples. – LarrySnyder610 Jun 13 '19 at 16:48

I believe you can have more than only one controller in your model, for example, let's assume that the indicator of your second treatment type is something like $${Y}_{i,j,t}$$ and it's effective with the rate of $$\epsilon$$ then you can rewrite your model as follow:

$$P^{k}_{ijt} = BP^{k}_{ijt} (1-\Phi X_{ijt}-\epsilon Y_{ijt})$$

$$X_{ijt} + Y_{ijt} \le 1$$ if only one treatment allowed in each time cycle

$$X_{ijt} + Y_{ijt} \le 2$$ if more than one treatment allowed in each time cycle

$$X_{ijt} \le Y_{ijt}$$ if second treatment depends on the first one

$$X_{ijt} + Y_{ijt} \ge 1$$ if at least one treatment should be done in each time cycle