Hi, all,

I have a minlp formulation, which has a nonlinear objective function, binary variables(Y(i,k)), and continuous variables(X(i,k)). Continuous variables are between 0 and 1. When I wrote the first constraint, I got continuous values for X(i,k).

Constraint1: X(i,k)<=Y(i,k)

However, I want that the value of X(i,k) should be greater than or equal to 0.25, if Y(i,k) equals to 1. So I wrote the following constraint:

Constraint2: X(i,k)>=0.25Y(i,k)

After, I add second constraint to my model, I got discrete values for X(i,k) as 0.25, 0.50, and 0.75. I want to have continuous values for the optimal solution.

I tried to change the constraint as Y(i,k)-X(i,k)<=0.75 but the results remain the same. The solvers that I tried always stop at an integer solution.

Do I need to change the settings of the solvers(dicopt,couene) to improve my solution and get rid of the discrete values? Or should I change the formulation of my constraint?

I will be grateful to your answers and comments.

Lily