Excluding non-preferable solutions from a MILP

I have a model which delivers the following results (other combinations are also possible, all Xs have 50 as an upper bound):

Case I

$$X1 = 50.0$$

$$X2 = 13.750$$

$$X3 = 50.0$$

$$X4 = 50.0$$

Case II (obtained adding valid constraints to the model)

$$X1 = 50.0$$

$$X2 = 47.50$$

$$X3 = 50.0$$

$$X4 = 16.25$$

Both results lead to the same value of the objective function. Both solutions are optimal.

The variables express how a certain resource j is loaded in time.

Is it possible to model that the resource is loaded with maximum possible amount in earlier times, whenever possible?

So here, I would like that Case II is prefered over Case I. Case I should be declared infeasible.

EDIT

I think we could reach the goal by introducing penalties in the objective function as follows:

$$\max f(X_1,X_2,X_3,X_4) - \delta_1 (50-X_1) - \delta_2 (50-X_2) - \delta_3 (50-X_3) - \delta_4 (50-X_4)$$

Now the question is, what is a good choice for the $$\delta$$s so that the optimal value for $$f(X_1,X_2,X_3,X_4)$$ is the same when optimising with and without the penalties.

We know that we should not use the same value for the penalties, but when are they too high, meaning, that they alter the value of $$f(X_1,X_2,X_3,X_4)$$ of the optimum when optimising without the penalties?

• Do you prefer $X_4 \leq X_3 \leq X_2 \leq X_1$ in the optimal solution? – Oguz Toragay Mar 11 at 13:41
• Hi Oguz! What you propose is not going to work because this setting is, in general, not necessarily going to be feasible (actually here it is feasible but non-optimal). I would like to get that solution, that allows the earlier loads to attain their highest possible value; that solution should also be optimal. In other words, I seek that solution among a set of optimal solutions, that satisfies the requirement as I expressed it. It think I can express it 'more mathematically' like this: $X1 \le X2$ if possible & $X2 \le X3$ if possible & $X3 \le X4$ if possible. – Clement Mar 11 at 14:03
• This could be done in several steps: First optimize without additional restrictions to find the optimal objective value. Then add a constraint that fixes the objective value. After that maximize X1. Then fix it to the optimal and maximize X2. Repeat. – Daniel Junglas Mar 11 at 14:09
• Maybe adding those conditions with appropriate coefficients to the objective function can be another slution. – Oguz Toragay Mar 11 at 14:11
• @Oguz Toragay Yes, penalizing the possible solutions would help, but I can't figure out how to do it. – Clement Mar 11 at 16:02