Mixed Integer Linear Programming Problem
13 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am trying to solve a integer linear programming problem, written in matlab as follows:
fs = 170;
Ts = 1/fs;
t = 0:Ts:1;
fo = 20;
f = -1*ones(1,171);
intcon = 1:length(f); %% All variables are integers.
lb = zeros(length(171),1); %%
ub = 1*ones(length(171),1); %% Enforces the optimization variables are binary.
Aeq = [];
beq = [];
A = ADS; %% Teoplitz Matrix (Convolution to Matrix Multiplication)
b = 5.*sin(2*pi*fo*t); %%
x = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub);
When I try to solve this in matlab using default options, it tells me that no feasible solution exists. Then I removed the integer constraints and tried resolving it using linprog solver. It again tells me the same thing. I do not see any reason why this should happen.
I was just wondering if the reason for this might be the linear constraint b which is a sinusoidal? When I put b as a constant value, it solves the optimization problem.
Can someone please give me a bit more insight as to the reason of infeasibility in this case?
4 Kommentare
Walter Roberson
am 23 Dez. 2020
What are the mininum and maximum number of positive and negative entries in one row of the toeplitz matrix?
For example if all of the entries except for (say) 3 were negative, and the rest positive, then with your f being all negative 1, that could turn into a sum that could not feasibly be negative enough to satisfy the 5*sin() being as low as -5
Antworten (2)
Matt J
am 24 Dez. 2020
Bearbeitet: Matt J
am 24 Dez. 2020
Since your unknown x(i) are bounded between 0 and 1, an upper bound on abs(A*x) is sum(abs(A),2). It seems doubtful to me that sum(abs(A),2) for the matrix you've shown could ever exceed 5. Therefore A*x could never reach a value less than -5, which it would have to in order for A*x to be bounded from above by b=5.*sin(2*pi*fo*t).
0 Kommentare
Alan Weiss
am 27 Dez. 2020
You might find the following documentation useful:
Alan Weiss
MATLAB mathematical toolbox documentation
0 Kommentare
Siehe auch
Kategorien
Mehr zu Linear Programming and Mixed-Integer Linear Programming finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!