如何设置Mosek的最大迭代次数? 您所在的位置:网站首页 最大迭代次数怎么理解 如何设置Mosek的最大迭代次数?

如何设置Mosek的最大迭代次数?

2024-07-01 11:24| 来源: 网络整理| 查看: 265

Mosek作为求解优化问题的软件,最大的迭代次数是软件的默认值,有时候我们希望看到没一次迭代的结果,那么怎么办呢?Mosek是没有设置输出迭代过程的功能,但是我们可以设置最大迭代次数来得到没一次迭代的结果。

我用的是Yalmip+mosek,所以下面给出一个例子:

下面是使用modek默认设置的计算日志:

MOSEK Version 8.0.0.60 (Build date: 2017-3-1 13:09:33) Copyright (c) MOSEK ApS, Denmark. WWW: mosek.com Platform: Windows/64-X86 Problem Name : Objective sense : min Type : CONIC (conic optimization problem) Constraints : 76 Cones : 59 Scalar variables : 269 Matrix variables : 0 Integer variables : 0 Optimizer started. Conic interior-point optimizer started. Presolve started. Linear dependency checker started. Linear dependency checker terminated. Eliminator started. Freed constraints in eliminator : 0 Eliminator terminated. Eliminator - tries : 1 time : 0.00 Lin. dep. - tries : 1 time : 0.01 Lin. dep. - number : 0 Presolve terminated. Time: 0.03 Optimizer - threads : 2 Optimizer - solved problem : the primal Optimizer - Constraints : 17 Optimizer - Cones : 60 Optimizer - Scalar variables : 211 conic : 179 Optimizer - Semi-definite variables: 0 scalarized : 0 Factor - setup time : 0.00 dense det. time : 0.00 Factor - ML order time : 0.00 GP order time : 0.00 Factor - nonzeros before factor : 153 after factor : 153 Factor - dense dim. : 0 flops : 4.88e+004 ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME 0 5.8e+001 1.0e+000 1.0e+000 0.00e+000 0.000000000e+000 0.000000000e+000 1.0e+000 0.05 1 2.8e+001 4.9e-001 7.4e-001 2.69e+000 -4.254048024e-001 -2.844728402e-001 4.9e-001 0.11 2 9.9e+000 1.7e-001 1.4e+000 1.42e+000 -2.952027207e-001 -3.496907606e-001 1.7e-001 0.11 3 2.7e+000 4.6e-002 8.0e-001 2.05e+000 -2.917533988e-001 -3.004520037e-001 4.6e-002 0.11 4 1.1e+000 1.9e-002 5.1e-001 1.25e+000 -2.945747896e-001 -2.977818412e-001 1.9e-002 0.13 5 4.5e-001 7.8e-003 3.4e-001 1.09e+000 -2.950900595e-001 -2.964001014e-001 7.8e-003 0.13 6 1.6e-001 2.8e-003 2.1e-001 1.04e+000 -2.944637949e-001 -2.949282232e-001 2.8e-003 0.13 7 3.3e-002 5.7e-004 9.7e-002 1.02e+000 -2.943788616e-001 -2.944751249e-001 5.7e-004 0.14 8 7.6e-003 1.3e-004 4.7e-002 1.00e+000 -2.944441319e-001 -2.944664877e-001 1.3e-004 0.14 9 1.2e-003 2.1e-005 1.9e-002 1.00e+000 -2.944543542e-001 -2.944579238e-001 2.1e-005 0.14 10 1.2e-004 2.1e-006 6.0e-003 1.00e+000 -2.944553323e-001 -2.944556878e-001 2.1e-006 0.16 11 3.2e-005 5.6e-007 3.1e-003 1.00e+000 -2.944554230e-001 -2.944555190e-001 5.6e-007 0.16 12 1.2e-005 2.1e-007 1.9e-003 1.00e+000 -2.944554811e-001 -2.944555166e-001 2.1e-007 0.16 13 2.2e-008 3.8e-010 8.4e-005 1.00e+000 -2.944554930e-001 -2.944554931e-001 3.8e-010 0.17 Interior-point optimizer terminated. Time: 0.17. Optimizer terminated. Time: 0.31 Interior-point solution summary Problem status : PRIMAL_AND_DUAL_FEASIBLE Solution status : OPTIMAL Primal. obj: -2.9445549304e-001 nrm: 1e+000 Viol. con: 5e-009 var: 0e+000 cones: 0e+000 Dual. obj: -2.9445549311e-001 nrm: 3e-001 Viol. con: 0e+000 var: 1e-010 cones: 0e+000 Optimizer summary Optimizer - time: 0.31 Interior-point - iterations : 13 time: 0.17 Basis identification - time: 0.00 Primal - iterations : 0 time: 0.00 Dual - iterations : 0 time: 0.00 Clean primal - iterations : 0 time: 0.00 Clean dual - iterations : 0 time: 0.00 Simplex - time: 0.00 Primal simplex - iterations : 0 time: 0.00 Dual simplex - iterations : 0 time: 0.00 Mixed integer - relaxations: 0 time: 0.00 ans = struct with fields: yalmiptime: 3.5286 solvertime: 0.4354 info: 'Successfully solved (MOSEK)' problem: 0

下面设置最大迭代次数:下面的ops是设置最大次数而添加的代码行。

ops = sdpsettings('solver','mosek','MSK_IPAR_INTPNT_MAX_ITERATIONS',10); solvesdp(F,object_fun,ops)

这样就可以了。Mosek的相关参数可以参考:https://docs.mosek.com/7.0/toolbox/Parameters.html.

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有