This is a continuation of 2026-07-02. Everything is on the same complex.


After writing code to do an exhaustive search of weights and -values, I appear to have found a counter example:

Testing weight=10, lambda=1e-05
c = 1*[3,6] + -1*[0,4] + 1*[0,3] + 1*[0,1] + 1*[6,7] + 1*[2,4] + 1*[1,2] + 1*[7,8] + -1*[2,8] + 1*[3,8] + 1*[2,3] + -1*[0,8]; lambda=1e-05
   z*=3.00009:  xp[2]=0.5 xp[8]=0.5 xp[14]=0.5 xp[16]=0.5 xp[23]=0.5 xm[25]=0.5 yp[0]=0.5 yp[1]=1 ym[2]=0.5 ym[4]=0.5 ym[5]=0.5 ym[7]=1 yp[9]=0.5 ym[10]=1 ym[11]=0.5 yp[13]=0.5 ym[16]=0.5 ym[17]=0.5 ym[20]=0.5 ym[22]=0.5 ym[23]=0.5
  x = 0.5*[3,4] + 0.5*[0,1] + 0.5*[1,2] + 0.5*[4,5] + 0.5*[2,3] + -0.5*[0,5]
  y = 0.5*[3,4,6] + 1*[0,4,6] + -0.5*[0,3,6] + -0.5*[1,4,6] + -0.5*[0,1,6] + -1*[4,6,7] + 0.5*[1,4,7] + -1*[2,4,7] + -0.5*[1,2,7] + 0.5*[4,5,7] + -0.5*[5,7,8] + -0.5*[2,7,8] + -0.5*[2,3,8] + -0.5*[0,5,8] + -0.5*[0,3,8]

The weight value corresponds to the original Mobius strip triangles. All other simplices had their weight set to 1.

The input vector is the one I found before:

but with . Visually is the given below (blue arrows):

center

The optimal solution was:

The 1-chain just wraps around the Mobius strip but with weights :

center

Or visually (where and ):

Or just the fractional components:

Testing the chains in Python shows that

but

So we can’t make it a valid homologous chain by simply doubling the chain coefficients! Rounding doesn’t work either!

Gurobi confirms the result given by my solver:

ampl: model counterexample.mod;
ampl: option solver gurobi;
ampl: solve;
Gurobi 12.0.1: optimal solution; objective 3.00009
28 simplex iterations
ampl: display Obj;
Obj = 3.00009

ampl: display xp;
xp [*] :=
 0 0      3 0      6 0      9 0     12 0     15 0     18 0     21 0     24 0
 1 0      4 0      7 0     10 0     13 0     16 0.5   19 0     22 0     25 0
 2 0.5    5 0      8 0.5   11 0     14 0.5   17 0     20 0     23 0.5   26 0
;

ampl: display xm;
xm [*] :=
 0 0      3 0      6 0      9 0     12 0     15 0     18 0     21 0     24 0
 1 0      4 0      7 0     10 0     13 0     16 0     19 0     22 0     25 0.5
 2 0      5 0      8 0     11 0     14 0     17 0     20 0     23 0     26 0
;

ampl: display yp;
yp [*] :=
 0 0.5    3 0      6 0      9 0     12 0     15 0     18 0     21 0     24 0
 1 1      4 0      7 0     10 0     13 0.5   16 0     19 0     22 0     25 0
 2 0      5 0      8 0.5   11 0     14 0     17 0     20 0     23 0     26 0
;

ampl: display ym;
ym [*] :=
 0 0      3 0      6 0      9 0     12 0     15 0     18 0     21 0     24 0
 1 0      4 0      7 1.5   10 1     13 0     16 0.5   19 0     22 0.5   25 0
 2 0.5    5 0.5    8 0     11 0.5   14 0     17 0.5   20 0.5   23 0.5   26 0
;

Update 7/15:

Solving the problem with integer constraints gave the following solution:

The 1-chain is a 1-cycle wrapping around the center of the Mobius strip along the raised tetrahedra. Interestingly, the objective value was the same as without the integer constraints. Which means, something is causing the solver to pick a fractional solution even though there is an optimal integral solution.