达到MATLAB linprog最大迭代次数

达到MATLAB linprog最大迭代次数,matlab,mathematical-optimization,linear-programming,Matlab,Mathematical Optimization,Linear Programming,我已经编写了下面的matlab代码来优化下面的LP max b'x s.t A'x <= 0; x <= d; 代码中定义了。我得到一个错误: Maximum number of iterations exceeded; increase options.MaxIter. 谷歌搜索时,有人说出现错误不是很好。这个问题必须重新制定。你知道怎么重新表述吗 解决方案非常简单,如A>0、b>0和d>0,因此x=0 m = 10; d = [1:1:m]; fo

我已经编写了下面的matlab代码来优化下面的LP

  max b'x
  s.t A'x <= 0;
      x <= d;
代码中定义了。我得到一个错误:

Maximum number of iterations exceeded; increase options.MaxIter.
谷歌搜索时,有人说出现错误不是很好。这个问题必须重新制定。你知道怎么重新表述吗

解决方案非常简单,如A>0、b>0和d>0,因此x=0

m   = 10;

d = [1:1:m];

for j = 1:m,
    for i = 1:m,
        A(i,j) = 1/(i+j-1);
    end
end
for i = 1:m,
    b(i)=0;
end
for i = 1:m
    lb(i) = -inf;
end
b;
lb = lb';

f = A*d';
[x,fval,exitflag,output] = linprog(-f,A,b,[],[],lb,d); %minimzation problem. Hence -f, A = A'

我用乐观主义者=('MaxIter',10000)。以停止该错误消息

考虑使用Opti工具箱:hmmm,当我在matlab 2010b上运行您的代码时,我得到以下错误:“退出:一个或多个残差、对偶间隙或总相对误差已停止:对偶似乎不可行(且原始无界)。(原始残差linprog知之甚少,但您确定您的矩阵大小正确吗?因为
lingprog
试图求解
f'*x
,并且在代码中未定义。作为
A
10x10,我想知道你是否在矩阵的形状上犯了一些错误,而你没有注意到……我的意思是。。。。您的下边界和上边界大小不同。。。。。
m   = 10;

d = [1:1:m];

for j = 1:m,
    for i = 1:m,
        A(i,j) = 1/(i+j-1);
    end
end
for i = 1:m,
    b(i)=0;
end
for i = 1:m
    lb(i) = -inf;
end
b;
lb = lb';

f = A*d';
[x,fval,exitflag,output] = linprog(-f,A,b,[],[],lb,d); %minimzation problem. Hence -f, A = A'