Why intlinprog cant solve 6561 variable optimization?
Show older comments
Hi all, I have a digraph of 81 nodes and I need to find the shortest path from a starting node to all the rest using linear programming. I adopted the idea from this post. But since I wanted from one node to all I set flow of all other nodes to be -1 and the starting node's flow as | V|-1. Adjacency matrix (named B) has size of 81x81 and values >0 if an edge exists between those nodes or Inf if not.
So i proceeded as follows:
V = size(B,1); % V = 81
flow = ones(1,V);
flow = -flow;
flow(startpoint) = V-1;
coeff = zeros(V,V,V);
for i=(1:V)
for j=(1:V)
coeff(i,i,j) = -1;
coeff(i,j,i) = 1;
end
coeff(i,i,i) = 0;
end
intlinprog(B,81*81,[],[],coeff,flow,zeros(1,V^2),ones(1,V^2));
I think this is correct from the documentation although I'm not that sure. But the problem is that when I run it I get this error:
Error using intlinprog (line 142)
INTLINPROG stopped because some objective or constraint matrix coefficients are too large in magnitude.
Accepted Answer
More Answers (0)
Categories
Find more on Get Started with Optimization Toolbox 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!