Feasible Issues when solving a MIO problem

55 views
Skip to first unread message

Tse

unread,
Nov 1, 2024, 11:34:48 AM11/1/24
to mosek

Dear Professor,

I am currently working on a portfolio optimization problem that is grounded in real-world data. I've encountered an issue where both the Problem status and Solution status indicate "PRIMAL_FEASIBLE." I was wondering if you could offer some guidance on which parameters I should adjust to improve the solution quality?

Thank you in advance for your assistance.

Best regards,

mo_1219.ptf
mosek.log

Erling D. Andersen

unread,
Nov 1, 2024, 12:58:52 PM11/1/24
to mosek
Maybe you have time limit of 180 seconds. Give the Mosek more time.

--
You received this message because you are subscribed to the Google Groups "mosek" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mosek+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/mosek/b35c78fe-dcc0-44dc-9185-a9a48e4f75d6n%40googlegroups.com.

Tse

unread,
Nov 2, 2024, 8:52:48 AM11/2/24
to mosek
Despite the problem status indicating "PrimalFeasible," I am unable to retrieve the value of x.level(). The method throws an error stating, "mosek.fusion.impl._implementation.__mk_mosek_fusion_SolutionError.<locals>.SolutionError: Solution status is Feasible but Optimal is expected. Reason: Accessing integer solution whose problem status is PrimalFeasible." I am curious if there is an alternative approach to obtain the values of the variables in such a scenario.

Tse

unread,
Nov 2, 2024, 8:52:51 AM11/2/24
to mosek
Yes it is, I've set the time limit to 180 secs. What I thought is to do some accelerations via parameter settings. I've tried to use double the number of threads compared my uploaded experiment, but there is not obviously improvement for computations.
Btw, I found a way to fetch x.level() although the status is feasible, via calling `Model.acceptedSolutionStatus` method.

在2024年11月2日星期六 UTC+8 00:58:52<Erling D. Andersen> 写道:

Erling D. Andersen

unread,
Nov 4, 2024, 1:35:53 AM11/4/24
to mo...@googlegroups.com
In the 180 seconds Mosek finds a solution that in the best case can be improved 0.05%.
Do you actually need more than a 1% optimal solution?

It might be for your problem, it just take a long time to prove that the solution is actually optimal.

I do not have a good suggestion for a better parameter setting.



--
Erling D. Andersen

MOSEK APS 
Fruebjergvej 3, 
Symbion Science Park Box 16, 
DK-2100 Copenhagen O

Erling D. Andersen

unread,
Nov 4, 2024, 2:38:44 AM11/4/24
to mosek
Using 12 threads I got

38641    42555    15985    261      5.7262331780e-01     5.7263273057e-01     1.64e-03    393.4
An optimal solution satisfying the relative gap tolerance of 1.00e-02(%) has been located.
The relative gap is 1.64e-03(%).

Objective of best integer solution : 5.726233177983e-01
Best objective bound               : 5.726327305652e-01
Initial feasible solution objective: Undefined
Construct solution objective       : Not employed
User objective cut value           : Not employed
Number of cuts generated           : 77
  Number of CMIR cuts              : 26
  Number of clique cuts            : 32
  Number of knapsack_cover cuts    : 19
Number of branches                 : 38641
Number of relaxations solved       : 42555
Number of interior point iterations: 1294365
Number of simplex iterations       : 0
Time spend presolving the root     : 1.75
Time spend optimizing the root     : 0.56
Mixed integer optimizer terminated. Time: 393.39

Optimizer terminated. Time: 393.42

Open file 'out\jobs\runmosek\stat\brylle\default-mo_1219.stat'

Integer solution solution summary
  Problem status  : PRIMAL_FEASIBLE
  Solution status : INTEGER_OPTIMAL
  Primal.  obj: 5.7262331780e-01    nrm: 1e+04    Viol.  con: 9e-07    var: 4e-08    acc: 0e+00    itg: 0e+00

Optimizer summary
  Optimizer                 -                        time: 393.42
    Interior-point          - iterations : 1294867   time: 4078.26
    Simplex                 - iterations : 0         time: 0.00
    Mixed integer           - relaxations: 42555     time: 393.39
Reply all
Reply to author
Forward
Message has been deleted
0 new messages