<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/169206</link>
    <title>MATLAB Central Newsreader - linprog: displaying all solutions</title>
    <description>Feed for thread: linprog: displaying all solutions</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2008 by The MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>The MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Tue, 13 May 2008 22:53:02 -0400</pubDate>
      <title>linprog: displaying all solutions</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/169206#431913</link>
      <author>H A</author>
      <description>&lt;br&gt;
Hi,&lt;br&gt;
&lt;br&gt;
I am using linprog to solve a linear programming problem &lt;br&gt;
with the following call:&lt;br&gt;
&lt;br&gt;
options=optimset&lt;br&gt;
('LargeScale', 'off', 'Simplex', 'on', 'Diagnostics', 'on', &lt;br&gt;
'Display', 'iter', 'MaxIter', 10000, 'TolFun', 10e-8);&lt;br&gt;
&lt;br&gt;
[d,fval,exitflag]=linprog(fM,AM,bM,[],[],0,1,[],options)&lt;br&gt;
&lt;br&gt;
I'd like to see all intermediate solutions of fval and d &lt;br&gt;
(my variable set) that the program generates, while it is &lt;br&gt;
converging. Is there a way of doing this? Setting the &lt;br&gt;
display option to iter lets me see the objective function &lt;br&gt;
values, but I haven't been able to find a way to see the d &lt;br&gt;
(solution set) values. &lt;br&gt;
&lt;br&gt;
The reason I am trying to see all intermediate values is &lt;br&gt;
that I suspect that my problem has multiple optimal &lt;br&gt;
solutions. So I'm just trying to see all the solutions that &lt;br&gt;
linprog was able to generate... Is there an alternative way &lt;br&gt;
of doing this?&lt;br&gt;
&lt;br&gt;
I also have another related question: When I set display &lt;br&gt;
to "iter", what do the "Dual Infeasibility" values that are &lt;br&gt;
displayed imply? &lt;br&gt;
&lt;br&gt;
Thanks a bunch for all your help!&lt;br&gt;
h&lt;br&gt;
&lt;br&gt;
</description>
    </item>
    <item>
      <pubDate>Tue, 13 May 2008 23:30:22 -0400</pubDate>
      <title>Re: linprog: displaying all solutions</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/169206#431919</link>
      <author>helper </author>
      <description>&lt;br&gt;
&amp;gt; options=optimset&lt;br&gt;
&amp;gt; &lt;br&gt;
('LargeScale', 'off', 'Simplex', 'on', 'Diagnostics', 'on', &lt;br&gt;
&amp;gt; 'Display', 'iter', 'MaxIter', 10000, 'TolFun', 10e-8);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; [d,fval,exitflag]=linprog(fM,AM,bM,[],[],0,1,[],options)&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I'd like to see all intermediate solutions of fval and d &lt;br&gt;
&amp;gt; (my variable set) that the program generates, while it is &lt;br&gt;
&amp;gt; converging. &lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Use the "OutputFcn" property of the options structure.  &lt;br&gt;
Check the documentation for OutputFcn.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&lt;br&gt;
&amp;gt; I also have another related question: When I set display &lt;br&gt;
&amp;gt; to "iter", what do the "Dual Infeasibility" values that &lt;br&gt;
are displayed imply? &lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Searching the MATLAB doc for "Dual Infeasibility" led me to &lt;br&gt;
a line that says:&lt;br&gt;
&lt;br&gt;
Dual Infeasibility:   A'*y+z-w-f&lt;br&gt;
&lt;br&gt;
I'm not even going to start to explain what this means &lt;br&gt;
(because I won't be able to do it well).  But I am hoping &lt;br&gt;
Mr. D'Errico can and will explain it (well).&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
</description>
    </item>
    <item>
      <pubDate>Wed, 14 May 2008 08:14:02 -0400</pubDate>
      <title>Re: linprog: displaying all solutions</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/169206#431955</link>
      <author>Bruno Luong</author>
      <description>"H A" &amp;lt;cositsjunk@yahoo.com&amp;gt; wrote in message&lt;br&gt;
&amp;lt;g0d64e$97i$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; The reason I am trying to see all intermediate values is &lt;br&gt;
&amp;gt; that I suspect that my problem has multiple optimal &lt;br&gt;
&amp;gt; solutions. So I'm just trying to see all the solutions that &lt;br&gt;
&amp;gt; linprog was able to generate... Is there an alternative way &lt;br&gt;
&amp;gt; of doing this?&lt;br&gt;
&amp;gt; &lt;br&gt;
&lt;br&gt;
You might take a look at the Lagrange variable (lambda)&lt;br&gt;
output. Combined lambda with cost coefficients, you can see&lt;br&gt;
whereas your LP is degenerated or not.&lt;br&gt;
&lt;br&gt;
Bruno&lt;br&gt;
</description>
    </item>
    <item>
      <pubDate>Wed, 14 May 2008 16:12:03 -0400</pubDate>
      <title>Re: linprog: displaying all solutions</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/169206#432007</link>
      <author>H A</author>
      <description>"helper " &amp;lt;spamless@nospam.com&amp;gt; wrote in message &lt;br&gt;
&amp;lt;g0d8ae$n3k$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; options=optimset&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
('LargeScale', 'off', 'Simplex', 'on', 'Diagnostics', 'on', &lt;br&gt;
&amp;gt; &amp;gt; 'Display', 'iter', 'MaxIter', 10000, 'TolFun', 10e-8);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; [d,fval,exitflag]=linprog(fM,AM,bM,[],[],0,1,[],options)&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; I'd like to see all intermediate solutions of fval and &lt;br&gt;
d &lt;br&gt;
&amp;gt; &amp;gt; (my variable set) that the program generates, while it &lt;br&gt;
is &lt;br&gt;
&amp;gt; &amp;gt; converging. &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Use the "OutputFcn" property of the options structure.  &lt;br&gt;
&amp;gt; Check the documentation for OutputFcn.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt;  &lt;br&gt;
&amp;gt; &amp;gt; I also have another related question: When I set &lt;br&gt;
display &lt;br&gt;
&amp;gt; &amp;gt; to "iter", what do the "Dual Infeasibility" values that &lt;br&gt;
&amp;gt; are displayed imply? &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Searching the MATLAB doc for "Dual Infeasibility" led me &lt;br&gt;
to &lt;br&gt;
&amp;gt; a line that says:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Dual Infeasibility:   A'*y+z-w-f&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I'm not even going to start to explain what this means &lt;br&gt;
&amp;gt; (because I won't be able to do it well).  But I am hoping &lt;br&gt;
&amp;gt; Mr. D'Errico can and will explain it (well).&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&lt;br&gt;
Thanks for your responses.&lt;br&gt;
&lt;br&gt;
I tried using OutputFcn as follows:&lt;br&gt;
&lt;br&gt;
.....................................&lt;br&gt;
&lt;br&gt;
history.x = []; history.fval = [];&lt;br&gt;
&lt;br&gt;
options=optimset('OutputFcn', &lt;br&gt;
@outfun, 'LargeScale', 'off', 'Simplex', 'on', 'Diagnostics'&lt;br&gt;
, 'on', 'Display', 'iter', 'MaxIter', 10000, 'TolFun', 10e-&lt;br&gt;
8);&lt;br&gt;
&lt;br&gt;
[d,fval,exitflag]=linprog(fM,AM,bM,[],[],0,1,[],options);&lt;br&gt;
&lt;br&gt;
function stop = outfun (x, optimValues, state)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stop = false;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;switch state&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case 'iter'&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;history.fval = [history.fval; optimValues.fval];&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;history.x = [history.x; x];&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;otherwise&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br&gt;
end&lt;br&gt;
&lt;br&gt;
history.fval&lt;br&gt;
history.x&lt;br&gt;
&lt;br&gt;
.....................................&lt;br&gt;
&lt;br&gt;
But both history.fval and history.x come back empty... am I &lt;br&gt;
missing something?&lt;br&gt;
&lt;br&gt;
Thanks!&lt;br&gt;
h&lt;br&gt;
&lt;br&gt;
</description>
    </item>
    <item>
      <pubDate>Wed, 14 May 2008 16:32:02 -0400</pubDate>
      <title>Re: linprog: displaying all solutions</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/169206#432015</link>
      <author>H A</author>
      <description>"helper " &amp;lt;spamless@nospam.com&amp;gt; wrote in message &lt;br&gt;
&amp;lt;g0d8ae$n3k$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; options=optimset&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
('LargeScale', 'off', 'Simplex', 'on', 'Diagnostics', 'on', &lt;br&gt;
&amp;gt; &amp;gt; 'Display', 'iter', 'MaxIter', 10000, 'TolFun', 10e-8);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; [d,fval,exitflag]=linprog(fM,AM,bM,[],[],0,1,[],options)&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; I'd like to see all intermediate solutions of fval and &lt;br&gt;
d &lt;br&gt;
&amp;gt; &amp;gt; (my variable set) that the program generates, while it &lt;br&gt;
is &lt;br&gt;
&amp;gt; &amp;gt; converging. &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Use the "OutputFcn" property of the options structure.  &lt;br&gt;
&amp;gt; Check the documentation for OutputFcn.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt;  &lt;br&gt;
&amp;gt; &amp;gt; I also have another related question: When I set &lt;br&gt;
display &lt;br&gt;
&amp;gt; &amp;gt; to "iter", what do the "Dual Infeasibility" values that &lt;br&gt;
&amp;gt; are displayed imply? &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Searching the MATLAB doc for "Dual Infeasibility" led me &lt;br&gt;
to &lt;br&gt;
&amp;gt; a line that says:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Dual Infeasibility:   A'*y+z-w-f&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I'm not even going to start to explain what this means &lt;br&gt;
&amp;gt; (because I won't be able to do it well).  But I am hoping &lt;br&gt;
&amp;gt; Mr. D'Errico can and will explain it (well).&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&lt;br&gt;
Thanks for your response.&lt;br&gt;
&lt;br&gt;
I tried using OutputFcn as follows:&lt;br&gt;
&lt;br&gt;
.....................................&lt;br&gt;
&lt;br&gt;
history.x = []; history.fval = [];&lt;br&gt;
&lt;br&gt;
options=optimset('OutputFcn', &lt;br&gt;
@outfun, 'LargeScale', 'off', 'Simplex', 'on', 'Diagnostics'&lt;br&gt;
, 'on', 'Display', 'iter', 'MaxIter', 10000, 'TolFun', 10e-&lt;br&gt;
8);&lt;br&gt;
[d,fval,exitflag]=linprog(fM,AM,bM,[],[],0,1,[],options);&lt;br&gt;
&lt;br&gt;
function stop = outfun (x, optimValues, state)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stop = false;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;switch state&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case 'iter'&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;history.fval = [history.fval; optimValues.fval];&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;history.x = [history.x; x];&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;otherwise&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br&gt;
end&lt;br&gt;
&lt;br&gt;
history.fval&lt;br&gt;
history.x&lt;br&gt;
&lt;br&gt;
.....................................&lt;br&gt;
&lt;br&gt;
But both history.fval and history.x come back empty... am I &lt;br&gt;
missing something?&lt;br&gt;
&lt;br&gt;
Thanks!&lt;br&gt;
h&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
</description>
    </item>
  </channel>
</rss>
