📄 faq.htm
字号:
</tr>
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><font color="#0000FF"><b>A</b></font><b><font color="#0000FF">:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0">Do you have any solver
installed?</p>
</td>
</tr>
</table>
<p style="margin-bottom: 0; margin-top:0"> </p>
<table border="0" cellpadding="0" style="border-collapse: collapse" width="100%">
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><b><font color="#0000FF">
<a name="compile solver"></a>Q:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0"><b>...still doesn't work!</b></td>
</tr>
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><font color="#0000FF"><b>A</b></font><b><font color="#0000FF">:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0">Compiled the solver (if needed)?
Compiled it for the correct MATLAB version?</p>
</td>
</tr>
</table>
<p style="margin-top: 0; margin-bottom: 0"> </p>
<table border="0" cellpadding="0" style="border-collapse: collapse" width="100%">
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><b><font color="#0000FF">
<a name="compile solver2"></a>Q:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0"><b>...still doesn't work!</b></td>
</tr>
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><font color="#0000FF"><b>A</b></font><b><font color="#0000FF">:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0">Using MATLAB 5.3.1 or later?</p>
</td>
</tr>
</table>
<p style="margin-top: 0; margin-bottom: 0"> </p>
<table border="0" cellpadding="0" style="border-collapse: collapse" width="100%">
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><b><font color="#0000FF">
<a name="compile solver0"></a>Q:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0"><b>...still doesn't work!</b></td>
</tr>
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><font color="#0000FF"><b>A</b></font><b><font color="#0000FF">:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0">Probably a PICNIC problem ;-P</p>
</td>
</tr>
</table>
<p style="margin-top: 0; margin-bottom: 0"> </p>
<table border="0" cellpadding="0" style="border-collapse: collapse" width="100%" id="table1">
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><b><font color="#0000FF">
<a name="slow"></a>Q:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0"><b>It is so slow!</b></td>
</tr>
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><font color="#0000FF"><b>A</b></font><b><font color="#0000FF">:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0">As a rule of thumb, the time
reported as <code>'yalmiptime'</code> in the output diagnostic should be around fractions
of a second for small problems, and typically a fraction of the actual
solution time for larger problems. If this is not the case, you probably
have a problem with your installation.</p>
<p style="margin-bottom: 0; margin-top:0"> </p>
<p style="margin-bottom: 0; margin-top:0">As another rule of thumb, <code>yalmiptest(sdpsettings('verbose',0,'solver','sedumi'))</code>
takes 2-5 seconds (including initial search for solvers) on my PC machines
(2GHz and 3GHz).</p>
<p style="margin-bottom: 0; margin-top:0"> </p>
<p style="margin-bottom: 0; margin-top:0">Do you have FEMLAB on your MATLAB
path? Removing FEMLAB from the path can improve performance significantly.
Another way to make YALMIP faster is to set the field <code>cachesolvers</code>
in <a href="#sdpsettings">sdpsettings</a> to 1. (One reason for the
extremely poor performance of YALMIP in these cases is typically due to slow
network functionalities, making the command <code>exist</code> , which is
used in <a href="#solvesdp">solvesdp</a> when detecting solvers, very slow.</p>
<p style="margin-bottom: 0; margin-top:0"> </p>
<p style="margin-bottom: 0; margin-top:0">Are you running over a network?
This can be extremely detrimental for general performance in YALMIP. On some
networked Linux version, YALMIP runs 10-100 times slower!</p>
<p style="margin-bottom: 0; margin-top:0"> </p>
<p style="margin-bottom: 0; margin-top:0">Do you have a poor sparse matrix
library in your installation? Some distributions seem to have extremely poor
performance for sparse matrices (observed on Linux), which is used a lot in YALMIP. One
way to test this is to run the script below. If the displayed result is
substantially larger than 20, you have problems (and I have no idea how you
can resolve this...)</p>
<blockquote>
<blockquote>
<pre>d = sprandn(1e5,1,0.5);
tic;for i= 1:1000;d([2000:3000]);end;t1 = toc;
d = d';
tic;for i= 1:1000;d([2000:3000]);end;t2 = toc;t1/t2</pre>
</blockquote>
</blockquote>
<p style="margin-bottom: 0; margin-top:0">Do
you have <a href="solvers.htm#mosek">MOSEK</a> installed? This solver overloads
the function <code>optimset</code> in Mathworks optimization toolbox, but is much slower. <code>optimset</code> is called in <a href="#sdpsettings">sdpsettings</a>
to initialize the option fields for <a href="solvers.htm#linprog">LINPROG</a> and
<a href="solvers.htm#quadprog">QUADPROG</a>. Note that
<a href="#sdpsettings">sdpsettings</a> is called in <a href="#solvesdp">solvesdp</a>
if no options structure is passed in the call. Hence, for optimal speed,
define the options structure once, and always use three arguments when
calling <a href="#solvesdp">solvesdp</a>. This is recommended even if you do
not have <a href="solvers.htm#mosek">MOSEK</a>.</p>
<p style="margin-bottom: 0; margin-top:0"> </p>
<p style="margin-bottom: 0; margin-top:0">Are you working with nonlinear
expressions? In that case, clear the internals of YALMIP regularly using
<code>yalmip('clear')</code>.</p>
<p style="margin-bottom: 0; margin-top:0"> </p>
<p style="margin-bottom: 0; margin-top:0">Are you working with large
polynomial
expressions? Try to compile the file findhash.c (<code>mex findhash.c</code>)</p>
<p style="margin-bottom: 0; margin-top:0"> </p>
<p style="margin-bottom: 0; margin-top:0">Finally, standard MATLAB coding
practice applies. This means that you should try to vectorize code, define
things once etc.</p>
</td>
</tr>
</table>
<hr noShade SIZE="1" color="#FF0000">
<p style="margin-bottom: 0; margin-top:0"> </p>
<table border="0" cellpadding="0" style="border-collapse: collapse" width="100%">
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><b><font color="#0000FF">
<a name="nosolver"></a>Q:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0"><b>YALMIP cannot find any
solver.</b></td>
</tr>
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><font color="#0000FF"><b>A</b></font><b><font color="#0000FF">:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0">Do you have any solver? You typically
need to install a (or several) solver and update you path. See
<a target="topic" href="solvers.htm">interfaced solver</a>.</p>
</td>
</tr>
</table>
<p style="margin-bottom: 0; margin-top:0"> </p>
<table border="0" cellpadding="0" style="border-collapse: collapse" width="100%">
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><b><font color="#0000FF">
<a name="penbmi update"></a>Q:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0"><b><a href="solvers.htm#penbmi">
PENBMI</a> does not work with
YALMIP anymore.</b></td>
</tr>
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><font color="#0000FF"><b>A</b></font><b><font color="#0000FF">:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0">Version 1.1 and earlier will not
work directly anymore. However, this is easily fixed. Edit the file
callpenbmim.m (if you use the
<a target="_blank" href="http://www.penopt.com">PENOPT</a> version) or
callpenbmi.m (if you use the <a target="_blank" href="http://tomlab.biz">TOMLAB</a>
version). Uncomment the code below the comment "UNCOMMENT THIS".</p>
</td>
</tr>
</table>
<p style="margin-bottom: 0; margin-top:0"> </p>
<table border="0" cellpadding="0" style="border-collapse: collapse" width="100%">
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><b><font color="#0000FF">
<a name="compile sdpt"></a>Q:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0"><b><a href="solvers.htm#sdpt3">SDPT3</a>-3.02 does not work with
YALMIP anymore.</b></td>
</tr>
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><font color="#0000FF"><b>A</b></font><b><font color="#0000FF">:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0">Download <a href="solvers.htm#sdpt3">SDPT3</a>-3.02 and compile (code
updated without version increment)</p>
</td>
</tr>
</table>
<p style="margin-bottom: 0; margin-top:0"> </p>
<table border="0" cellpadding="0" style="border-collapse: collapse" width="100%">
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><b><font color="#0000FF">
<a name="compile sdpt0"></a>Q:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0"><b>My version of
<a href="solvers.htm#sdpt3">SDPT3</a>-3.02 does not work and complains about
the file <code>svec</code>.</b></td>
</tr>
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><font color="#0000FF"><b>A</b></font><b><font color="#0000FF">:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0">Do you have the solver SDPPACK
installed? Remove the path to this solver.</p>
</td>
</tr>
</table>
<p style="margin-bottom: 0; margin-top:0"> </p>
<table border="0" cellpadding="0" style="border-collapse: collapse" width="100%">
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><b><font color="#0000FF">
<a name="sedumisdpt3"></a>Q:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0"> <b> <a href="solvers.htm#sdpt3">SDPT3</a> (or
<a href="solvers.htm#sedumi">SeDuMi</a>) does not work<font color="#0000FF">.</font></b></td>
</tr>
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><font color="#0000FF"><b>A</b></font><b><font color="#0000FF">:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0">Make sure not to have both <a href="solvers.htm#sdpt3">SDPT3</a>
(version 3.02) and
<a href="solvers.htm#sedumi">SeDuMi</a> on the MATLAB path. This problem is
resolved in <a href="solvers.htm#sdpt3">SDPT3</a> 3.1</p>
</td>
</tr>
</table>
<p style="margin-bottom: 0; margin-top:0"> </p>
<table border="0" cellpadding="0" style="border-collapse: collapse" width="100%">
<tr>
<td width="26" valign="top">
<p style="margin-bottom: 0; margin-top:0"><b><font color="#0000FF">
<a name="csdppath"></a>Q:</font></b></td>
<td>
<p style="margin-bottom: 0; margin-top:0"> <b> <a href="solvers.htm#csdp">CSDP</a> does not work<font color="#0000FF">.</font></b></td>
</tr>
<tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -