1

I have a model with the following condition:

z[i] = min{t*x[i][t] | x[i][t] = 1}, x[i][t] - boolean, z[i] - integer

Which means I am trying to find a minimum positive value over a set of integer expressions. The "min" condition can be easily converted into a set of linear conditions if only we weren't looking for a positive value but a boolean (0 or 1) one.

Here the situation is a bit more complicated. Let's say that

t*x[i][t]

can have the following values:

0,3,4,5

I am looking for a way to get the value 3 (minimum positive one) and assign it to another variable (z[i])

Is there a way to convert the condition into a set of linear ones so that my model is not a non-linear programming model?

Michał Urbaniak
  • 1,249
  • 13
  • 28
  • `z[i] = min{t*x[i][t] | x[i][t] = 0}` implies `z[i] = min{t*0 | x[i][t] = 0}` or `z[i]=0` (and undefined when there are no `x[i][t] = 0`). – Erwin Kalvelagen Aug 31 '17 at 10:05
  • @ErwinKalvelagen sorry, there was a mistake in my question. I modified the condition description. It should have been z[i] = min{t*x[i][t] | x[i][t] = 1} – Michał Urbaniak Aug 31 '17 at 11:01
  • I suspect what you are asking is an [XY Problem](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Please explain *what* you need to do, not *how* you want it done, and include more big-picture information. – Ioannis Sep 05 '17 at 10:50
  • A lot depends on the objective. One would need to look at the whole model to make a good suggestion. – Erwin Kalvelagen Sep 06 '17 at 08:01

0 Answers0