I have a large linear program with the following details.
d1 to di are the variables, where di is an integer. The constraints are a series of inequalities of the form
d1 < d3 < d7 < d23 (First set of constraints)
d2 < d3 < d8 < d49 (second set of constraints)
and so on.
d1 = 1 is given.
In my problem, there could be several hundred thousand such simple inequalities.
The objective function is to minimize the following
cost(d3 - d1) + cost(d7 - d3) + cost(d23 - d7) + cost(d3 - d2) + cost(d8 - d3) + cost(d49 - d8)
for this example. In this, cost(x) is a step function of the form if x < k1, cost(x) = 1 k1 <= x < k2, cost(x) = 2 and so, where k1 and k2 are known constants.
I am looking for some guidance on modeling the step function in the objective.
Even though I state that di's are integers, I am thinking that I can relax that assumption to not being an integer (since solving large ILPs are tough). If I relax that and change the constraints as
d1 + 1 < d3
d3 + 1 < d7
d7 + 1 < d23
d2 + 1 < d3
d3 + 1 < d8
d8 + 1 < d49
and since I have a minimization problem, I am thinking that the di's will take distinct integer values. Can anybody help me with pointers on how to model this problem?