#18871: MILP formulation for cutwidth
-------------------------+-------------------------------------------------
       Reporter:         |        Owner:
  dcoudert               |       Status:  needs_work
           Type:         |    Milestone:  sage-6.8
  enhancement            |   Resolution:
       Priority:  major  |    Merged in:
      Component:  graph  |    Reviewers:  Nathann Cohen
  theory                 |  Work issues:
       Keywords:         |       Commit:
  cutwidth, MILP         |  1d4194a9f98ac9678f1bae0c94c533ed30f47fdf
        Authors:  David  |     Stopgaps:
  Coudert                |
Report Upstream:  N/A    |
         Branch:         |
  public/18871           |
   Dependencies:         |
-------------------------+-------------------------------------------------
Changes (by ncohen):

 * status:  needs_review => needs_work
 * reviewer:   => Nathann Cohen


Comment:

 Hellooooooo David,

 Some comments:

 - Module's doc, documentation of MILP variable `z`: at the end of the line
 there
   is a `y^y`. Shouldn't it be `y^k`?

 - Constraints: the third constraint is missing one side of the inequality.

 - But I am not sure that I understand the system: why wouldn't you say
 that:
   a) `x_v^k <= x_v^{k+1}` (the values can only increase)
   b) `\sum_v x_v^k == k` (for every k)

 - About y: what about only having those two constraints:
   - `y_{uv}^k >= x_v^k - x_u^k`
   - `y_{uv}^k >= x_u^k - x_v^k`
   It seems to me that they are sufficient to express `y_{uv}^k >= x_u^k
 XOR
   x_v^k`. And you do not really need to say that `y` has to be *equal* to
 the
   XOR, the `>=` should be enough given that you minimize the cost of a
 cut.

 - If you see a better way to name the `x,y`, and `z`... `:-P`

 - When building the documentation, the references toward the number of the
   constraints do not appear correctly. Neither does the 'xor'.

 - You call `set_binary` on a variable that you already defined as binary.

 - Is there any reason why you catch the `MIPSolverException`?

 - You do not have to int+round the value of `z['z']`. The solver should
 give you
   an integer value as you defined the variable as integral: if it does
 not,
   that's a bug that should be fixed.

 Nathann

--
Ticket URL: <http://trac.sagemath.org/ticket/18871#comment:4>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to