# Mixed-Integer Linear Programming problem

3 views (last 30 days)
NICOLO' DUCCINI on 9 Nov 2020
Edited: NICOLO' DUCCINI on 13 Nov 2020
Hello,
i have to solve the following MILP problem on MATLAB:
I have tried to solve it in this way, but there is something wrong because the are not solutions according to the solver but there should be 2 vectors with 4 solutions each. Can anyone help me?
q = 4
n = length(tickers)
cvx_begin
cvx_solver sdpt3
variables x(n) y(n) binary;
maximize (sum(sum(rho*x)))
sum(y) == q;
sum(x) == 1;
sum(x) <= y';
cvx_end
x, y
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Answers (1)

Pranav Verma on 12 Nov 2020
Hi Nicolo'
You can use the MILP solver in MATLAB to solve the problem you have mentioned. The MILP solver solves:
So make sure that you convert your problem from maximize to minimize and accordingly change the signs in the constraints and convert them to A.x <= b.
You can make use of optimproblem to create the optimization problem.
Thanks
##### 1 CommentShowHide None
NICOLO' DUCCINI on 12 Nov 2020
Edited: NICOLO' DUCCINI on 13 Nov 2020
Thank You for your answer!
I tried to modify the code in this way:
prob = optimproblem('ObjectiveSense','max')
x = optimvar('x',n,'Type','integer','LowerBound',0,'UpperBound',1);
y = optimvar('y',n,'Type','integer','LowerBound',0,'UpperBound',1);
prob.Objective = optimexpr(rho*x);
cons1 = sum(y) == q;
cons2 = sum(x) == 1;
cons3 = x <= y'*ones(30,1);
prob.Constraints.cons1 = cons1;
prob.Constraints.cons2 = cons2;
prob.Constraints.cons3 = cons3;
sol = solve(prob)
sol.x
sol.y
But I did't obtain an appropriate result, maybe because there are some constraint problem, do you have some suggestion ?

Sign in to comment.

### Categories

Find more on Linear Programming and Mixed-Integer Linear Programming in Help Center and File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!