August 22nd, 2005, 8:50 am
This type of constraint is encountered in classical integer programming problems (capacitated facility location) and other types of capacitated network optimization problems. The condition is usually modelled by introduction of a binary variable (stating whether the continuous variable has been permitted positive values or zero) and a "big-M constant", i.e. as x <= My, where y is binary (0 or 1) and M is some large number, namely either an upper bound on the values of x, or some number higher than the highest possible value of x. This type of constraint will maintain linearity of the problem (other constraints permitting). However, if your original problem was non-linear (the likelihood being great as you are speaking about utility functions), turning the problem into an integer programming problem will make things a lot nastier