Yes, what I'm trying to say is exactly what you said in the second half. To be precise, the two models should look like this:
M1 = [0 <= k*(x+k*y) <= 1, uncertain(k), 0 <= k <= 0.1]
M2 = [0 <= w * d * (x + w * d * y) <= 1,uncertain(d), 0 <= d <= 0.1]
Now I want to make it clear:
1. Will both models M1 and M2 be reported by Yalmip to contain polynomial constraints?
2. Yalmip's robustness engine can accept and robustify models M1 and M2, but only the robustified M1 can be solved by Gurobi successfully while M2 will fail for the polynomial constraint?
3. The solution log of real M1 is as follows, can you help me judge whether it can be considered as a successful solution:
***** Starting YALMIP robustification module. *********************
- Detected 48 uncertain variables
- Detected 48 independent group(s) of uncertain variables
- Complicating terms in w encountered. Trying to eliminate by forcing some decision variables to 0
- Complicating terms in w encountered. Trying to eliminate by forcing some decision variables to 0
- Eliminating uncertainty using explicit maximization of inf-norm
***** Derivation of robust counterpart done ***********************
Academic license - for non-commercial use only - expires 20xx-xx-xx
Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 47653 rows, 21106 columns and 343533 nonzeros
Model fingerprint: xxxxxxx
Variable types: 21050 continuous, 56 integer (56 binary)
Coefficient statistics:
Matrix range [4e-05, 1e+04]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [3e-14, 4e+03]
Presolve removed 35203 rows and 15560 columns
Presolve time: 3.57s
Presolved: 12450 rows, 5546 columns, 62908 nonzeros
Variable types: 5524 continuous, 22 integer (22 binary)
Root simplex log...
Iteration Objective Primal Inf. Dual Inf. Time
7170 1.0557720e+04 7.604274e+05 0.000000e+00 5s
17840 1.0703594e+04 5.011939e+06 0.000000e+00 10s
21690 1.0741404e+04 5.357545e+05 0.000000e+00 15s
25330 1.0779904e+04 1.569191e+06 0.000000e+00 20s
28690 1.0803012e+04 7.330740e+06 0.000000e+00 25s
32190 1.0835664e+04 5.400681e+05 0.000000e+00 30s
36180 1.0868502e+04 1.365175e+05 0.000000e+00 35s
40693 1.4235013e+04 5.781053e+07 0.000000e+00 40s
Warning: Markowitz tolerance tightened to 0.03125
44201 9.0072367e+04 1.554219e+07 0.000000e+00 45s
47701 9.5070696e+04 1.028131e+07 0.000000e+00 50s
50926 9.9985530e+04 7.728223e+07 0.000000e+00 55s
54483 1.0145411e+05 1.686782e+06 0.000000e+00 60s
Warning: Markowitz tolerance tightened to 0.125
58858 1.0218533e+05 7.344124e+05 0.000000e+00 65s
65421 1.0295841e+05 5.031727e+05 0.000000e+00 70s
67601 1.0159633e+05 0.000000e+00 0.000000e+00 71s
Root relaxation: objective 1.015963e+05, 67601 iterations, 67.25 seconds
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 101596.329 0 17 - 101596.329 - - 71s
H 0 0 116883.95528 101596.329 13.1% - 75s
0 0 101596.329 0 17 116883.955 101596.329 13.1% - 78s
0 0 101596.877 0 17 116883.955 101596.877 13.1% - 84s
0 0 101596.877 0 17 116883.955 101596.877 13.1% - 84s
0 0 101596.877 0 17 116883.955 101596.877 13.1% - 94s
0 2 101596.877 0 17 116883.955 101596.877 13.1% - 94s
1 4 105364.479 1 19 116883.955 101596.877 13.1% 53752 206s
3 4 106279.815 2 17 116883.955 101596.877 13.1% 61197 305s
7 4 108790.046 3 18 116883.955 101596.877 13.1% 54390 360s
11 6 109945.422 4 16 116883.955 107516.341 8.01% 42710 367s
15 6 110657.957 5 14 116883.955 107997.764 7.60% 32513 406s
19 6 113969.874 6 9 116883.955 107997.764 7.60% 29342 410s
* 20 6 6 111210.68895 107997.764 2.89% 27877 410s
* 25 0 6 110973.10238 110973.102 0.00% 22656 412s
Cutting planes:
Implied bound: 3
RLT: 8
Explored 26 nodes (634199 simplex iterations) in 412.90 seconds
Thread count was 8 (of 8 available processors)
Solution count 3: 110973 111211 116884
Optimal solution found (tolerance 1.00e-04)
Best objective 1.109731023838e+05, best bound 1.109731023838e+05, gap 0.0000%