Skip to content
This repository was archived by the owner on Jan 31, 2023. It is now read-only.

Latest commit

 

History

History
747 lines (566 loc) · 34.2 KB

20413.md

File metadata and controls

747 lines (566 loc) · 34.2 KB

Issue 20413: InteractiveLPBackend: Use standard-form transformation, objective_constant_term, change default base_ring to QQ

archive/issues_020176.json:

{
    "assignees": [],
    "body": "<div id=\"comment:0\"></div>\n\nFollow-up on #20296, #20311, #20301. \nUpdating `InteractiveLPBackend` to:\n- use the standard-form transformation,\n- simplify its code slightly by making use of the new `objective_constant_term` handling in `InteractiveLPProblem`\n- make the example of optimizing over the dodecahedron more natural and remove use of backend methods.\n- change default `base_ring` to QQ -- a much saner default because it's so much faster\n\nDepends on #20296\nDepends on #20311\nDepends on #20301\n\nCC:  @novoselt @dimpase @videlec\n\nComponent: **numerical**\n\nAuthor: **Matthias Koeppe**\n\nBranch/Commit: **[`c8fa4b0`](https://github.com/sagemath/sagetrac-mirror/commit/c8fa4b0a9a706f79786f8ee94e0c955e3cabae51)**\n\nReviewer: **Dima Pasechnik**\n\n_Issue created by migration from https://trac.sagemath.org/ticket/20413_\n\n",
    "closed_at": "2016-04-14T21:56:56Z",
    "created_at": "2016-04-11T00:30:13Z",
    "labels": [
        "https://github.com/sagemath/sage/labels/c%3A%20numerical",
        "https://github.com/sagemath/sage/labels/p%3A%20major%20/%203",
        "https://github.com/sagemath/sage/labels/enhancement",
        "https://github.com/sagemath/sage/labels/c%3A%20linear%20programming"
    ],
    "milestone": "https://github.com/sagemath/sage/milestones/sage-7.2",
    "reactions": [],
    "repository": "https://github.com/sagemath/sage",
    "title": "InteractiveLPBackend: Use standard-form transformation, objective_constant_term, change default base_ring to QQ",
    "type": "issue",
    "updated_at": "2016-04-14T21:56:56Z",
    "url": "https://github.com/sagemath/sage/issues/20413",
    "user": "https://github.com/mkoeppe"
}

Follow-up on #20296, #20311, #20301. Updating InteractiveLPBackend to:

  • use the standard-form transformation,
  • simplify its code slightly by making use of the new objective_constant_term handling in InteractiveLPProblem
  • make the example of optimizing over the dodecahedron more natural and remove use of backend methods.
  • change default base_ring to QQ -- a much saner default because it's so much faster

Depends on #20296 Depends on #20311 Depends on #20301

CC: @novoselt @dimpase @videlec

Component: numerical

Author: Matthias Koeppe

Branch/Commit: c8fa4b0

Reviewer: Dima Pasechnik

Issue created by migration from https://trac.sagemath.org/ticket/20413


archive/issue_events_285360.json:

{
    "actor": "https://github.com/mkoeppe",
    "created_at": "2016-04-11T00:30:13Z",
    "event": "milestoned",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "milestone_number": null,
    "milestone_title": "sage-7.2",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20413#event-285360"
}

archive/issue_events_285361.json:

{
    "actor": "https://github.com/mkoeppe",
    "created_at": "2016-04-11T00:30:13Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "label": "https://github.com/sagemath/sage/labels/c%3A%20numerical",
    "label_color": "0000ff",
    "label_name": "c: numerical",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20413#event-285361"
}

archive/issue_events_285362.json:

{
    "actor": "https://github.com/mkoeppe",
    "created_at": "2016-04-11T00:30:13Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "label": "https://github.com/sagemath/sage/labels/p%3A%20major%20/%203",
    "label_color": "ffbb00",
    "label_name": "p: major / 3",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20413#event-285362"
}

archive/issue_events_285363.json:

{
    "actor": "https://github.com/mkoeppe",
    "created_at": "2016-04-11T00:30:13Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "label": "https://github.com/sagemath/sage/labels/enhancement",
    "label_color": "696969",
    "label_name": "enhancement",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20413#event-285363"
}

archive/issue_events_285364.json:

{
    "actor": "https://github.com/mkoeppe",
    "created_at": "2016-04-11T00:30:13Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "label": "https://github.com/sagemath/sage/labels/c%3A%20linear%20programming",
    "label_color": "0000ff",
    "label_name": "c: linear programming",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20413#event-285364"
}

archive/issue_comments_294719.json:

{
    "body": "Branch: **[u/mkoeppe/fx_with_new_interactive_simplex_objshift](https://github.com/sagemath/sagetrac-mirror/tree/u/mkoeppe/fx_with_new_interactive_simplex_objshift)**",
    "created_at": "2016-04-11T00:34:51Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294719",
    "user": "https://github.com/mkoeppe"
}

Branch: u/mkoeppe/fx_with_new_interactive_simplex_objshift


archive/issue_comments_294720.json:

{
    "body": "<div id=\"comment:2\" align=\"right\">comment:2</div>\n\nBranch is on top of #20311\n\n---\nLast 10 new commits:\n<table><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/b5f5f91157169ba2896cf0661e9f06a338c684f9\"><code>b5f5f91</code></a></td><td><code>Infeasible problems are bounded!</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/5fd3547a340950044c73fe6130b6355f0b631325\"><code>5fd3547</code></a></td><td><code>Add checks for feasible/optimal solutions of InteractiveLPProblem</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/f2e52f8f613d423f83ee9806b23b3aacefae2156\"><code>f2e52f8</code></a></td><td><code>Return coordinate transformation for problems in standard form.</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/ec31ed65e3624affa79298d2bb8d414600b85e47\"><code>ec31ed6</code></a></td><td><code>InteractiveLPProblem.standard_form: Add doctest for objective_constant_term</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/992c5ea1d2bcab0898dac5751a850d5ec7c053f9\"><code>992c5ea</code></a></td><td><code>Typeset constant term and clarify negativity interaction.</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/580b57f5af4ec143c031eae2926cb8b83333b13f\"><code>580b57f</code></a></td><td><code>Merge 7.2.beta3 into t/20311/ISM_enchancements</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/4d7afcab44af70dfa5063624d02c1b8ddd2b2b64\"><code>4d7afca</code></a></td><td><code>Fixes to the objective constant term treatment.</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/07b1b6287bde3498adbfe4f93e79137d2c5f380d\"><code>07b1b62</code></a></td><td><code>Merge branch 't/20311/ISM_enchancements' into t/20413/interactivelpproblem__use_standard_form_transformation__objective_constant_term</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/14e133aaba0b0ca5add7d1cdd161453b8bbb4be9\"><code>14e133a</code></a></td><td><code>InteractiveLPBackend: Use standard form transformation on optimal solution</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/bd1424bb2a56cabdc38d8162a9af8c66663bec58\"><code>bd1424b</code></a></td><td><code>InteractiveLPBackend: Use InteractiveLPProblem's objective_constant_term</code></td></tr></table>\n",
    "created_at": "2016-04-11T00:36:14Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294720",
    "user": "https://github.com/mkoeppe"
}
comment:2

Branch is on top of #20311


Last 10 new commits:

b5f5f91Infeasible problems are bounded!
5fd3547Add checks for feasible/optimal solutions of InteractiveLPProblem
f2e52f8Return coordinate transformation for problems in standard form.
ec31ed6InteractiveLPProblem.standard_form: Add doctest for objective_constant_term
992c5eaTypeset constant term and clarify negativity interaction.
580b57fMerge 7.2.beta3 into t/20311/ISM_enchancements
4d7afcaFixes to the objective constant term treatment.
07b1b62Merge branch 't/20311/ISM_enchancements' into t/20413/interactivelpproblem__use_standard_form_transformation__objective_constant_term
14e133aInteractiveLPBackend: Use standard form transformation on optimal solution
bd1424bInteractiveLPBackend: Use InteractiveLPProblem's objective_constant_term

archive/issue_comments_294721.json:

{
    "body": "Commit: **[`bd1424b`](https://github.com/sagemath/sagetrac-mirror/commit/bd1424bb2a56cabdc38d8162a9af8c66663bec58)**",
    "created_at": "2016-04-11T00:36:14Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294721",
    "user": "https://github.com/mkoeppe"
}

Commit: bd1424b


archive/issue_comments_294722.json:

{
    "body": "Changed commit from **[`bd1424b`](https://github.com/sagemath/sagetrac-mirror/commit/bd1424bb2a56cabdc38d8162a9af8c66663bec58)** to **[`05af303`](https://github.com/sagemath/sagetrac-mirror/commit/05af303f24dcd7899de4639666293adde8defdb8)**",
    "created_at": "2016-04-11T02:51:42Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294722",
    "user": "https://github.com/sagetrac-git"
}

Changed commit from bd1424b to 05af303


archive/issue_comments_294723.json:

{
    "body": "<div id=\"comment:3\"></div>\n\nBranch pushed to git repo; I updated commit sha1. New commits:\n<table><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/78d0e784dfd4bb497c1b179f8fa8f645d334fdaa\"><code>78d0e78</code></a></td><td><code>InteractiveLPProblem.standard_form: Add doctest for minimization with objective_constant_term</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/7145f7d14ada975e9025efddb5852af6fa79eed8\"><code>7145f7d</code></a></td><td><code>Flip the constant term sign when converting min problems to standard form.</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/05af303f24dcd7899de4639666293adde8defdb8\"><code>05af303</code></a></td><td><code>Merge branch 't/20311/ISM_enchancements' into t/20413/interactivelpproblem__use_standard_form_transformation__objective_constant_term</code></td></tr></table>\n",
    "created_at": "2016-04-11T02:51:42Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294723",
    "user": "https://github.com/sagetrac-git"
}

Branch pushed to git repo; I updated commit sha1. New commits:

78d0e78InteractiveLPProblem.standard_form: Add doctest for minimization with objective_constant_term
7145f7dFlip the constant term sign when converting min problems to standard form.
05af303Merge branch 't/20311/ISM_enchancements' into t/20413/interactivelpproblem__use_standard_form_transformation__objective_constant_term

archive/issue_events_285365.json:

{
    "actor": "https://github.com/mkoeppe",
    "created_at": "2016-04-11T02:55:42Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "label": "https://github.com/sagemath/sage/labels/needs%20review",
    "label_color": "7fff00",
    "label_name": "needs review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20413#event-285365"
}

archive/issue_comments_294724.json:

{
    "body": "<div id=\"comment:5\" align=\"right\">comment:5</div>\n\nOut of curiosity - how does timing of interactive backend compares with \"normal solvers\" on \"interesting problems\"?-) Presumably most of the time is spent on typesetting, but other solvers may have some setup overhead which is significant in small cases. Also you have used revised dictionaries - are there any benefits to them in this implementation? (It seemed to me that no, the first problem of https://sage373.math.ualberta.ca/home/pub/32/ )",
    "created_at": "2016-04-11T02:59:55Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294724",
    "user": "https://github.com/novoselt"
}
comment:5

Out of curiosity - how does timing of interactive backend compares with "normal solvers" on "interesting problems"?-) Presumably most of the time is spent on typesetting, but other solvers may have some setup overhead which is significant in small cases. Also you have used revised dictionaries - are there any benefits to them in this implementation? (It seemed to me that no, the first problem of https://sage373.math.ualberta.ca/home/pub/32/ )


archive/issue_comments_294725.json:

{
    "body": "<div id=\"comment:6\"></div>\n\nBranch pushed to git repo; I updated commit sha1. New commits:\n<table><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/c071f9a2a60f375c6b0fc731d73e5bcb89d5ea93\"><code>c071f9a</code></a></td><td><code>InteractiveLPBackend.objective_constant_term: New</code></td></tr></table>\n",
    "created_at": "2016-04-11T03:05:00Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294725",
    "user": "https://github.com/sagetrac-git"
}

Branch pushed to git repo; I updated commit sha1. New commits:

c071f9aInteractiveLPBackend.objective_constant_term: New

archive/issue_comments_294726.json:

{
    "body": "Changed commit from **[`05af303`](https://github.com/sagemath/sagetrac-mirror/commit/05af303f24dcd7899de4639666293adde8defdb8)** to **[`c071f9a`](https://github.com/sagemath/sagetrac-mirror/commit/c071f9a2a60f375c6b0fc731d73e5bcb89d5ea93)**",
    "created_at": "2016-04-11T03:05:00Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294726",
    "user": "https://github.com/sagetrac-git"
}

Changed commit from 05af303 to c071f9a


archive/issue_comments_294727.json:

{
    "body": "<div id=\"comment:7\" align=\"right\">comment:7</div>\n\nI have not done any benchmarking, neither with real solvers, nor between your two dictionary implementations. This could be a nice class project. \nI have chosen the revised dictionary because that's what one \"should\" do. I suppose if one does the benchmarking, one will see the expected result that the revised method is faster when the number of nonbasics is large enough.\n\nI wrote `InteractiveLPBackend` because I needed a solver for some very small LPs with irrational algebraic data (unrelated to the example in the doctest!), for which there is simply no alternative solver available.",
    "created_at": "2016-04-11T03:22:03Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294727",
    "user": "https://github.com/mkoeppe"
}
comment:7

I have not done any benchmarking, neither with real solvers, nor between your two dictionary implementations. This could be a nice class project. I have chosen the revised dictionary because that's what one "should" do. I suppose if one does the benchmarking, one will see the expected result that the revised method is faster when the number of nonbasics is large enough.

I wrote InteractiveLPBackend because I needed a solver for some very small LPs with irrational algebraic data (unrelated to the example in the doctest!), for which there is simply no alternative solver available.


archive/issue_comments_294728.json:

{
    "body": "<div id=\"comment:8\" align=\"right\">comment:8</div>\n\nAt the moment, `InteractiveLPBackend` chooses `AA` as the default base ring, that's probably a bad idea (I'll change it).\nIf I change it to `QQ`, I get the following comparison:\n\n```\nsage: %time delsarte_bound_additive_hamming_space(19,15,7,solver='ppl')\nCPU times: user 153 ms, sys: 13.4 ms, total: 167 ms\nWall time: 163 ms\n3\nsage: %time delsarte_bound_additive_hamming_space(19,15,7,solver='glpk')\nCPU times: user 84.9 ms, sys: 14.7 ms, total: 99.6 ms\nWall time: 109 ms\n3\nsage: %time delsarte_bound_additive_hamming_space(19,15,7,solver='coin')\nCPU times: user 87.9 ms, sys: 16.1 ms, total: 104 ms\nWall time: 160 ms\n3\nsage: %time delsarte_bound_additive_hamming_space(19,15,7,solver='interactivelp')\nCPU times: user 10.6 s, sys: 91.1 ms, total: 10.7 s\nWall time: 10.8 s\n3\n```",
    "created_at": "2016-04-11T03:43:05Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294728",
    "user": "https://github.com/mkoeppe"
}
comment:8

At the moment, InteractiveLPBackend chooses AA as the default base ring, that's probably a bad idea (I'll change it). If I change it to QQ, I get the following comparison:

sage: %time delsarte_bound_additive_hamming_space(19,15,7,solver='ppl')
CPU times: user 153 ms, sys: 13.4 ms, total: 167 ms
Wall time: 163 ms
3
sage: %time delsarte_bound_additive_hamming_space(19,15,7,solver='glpk')
CPU times: user 84.9 ms, sys: 14.7 ms, total: 99.6 ms
Wall time: 109 ms
3
sage: %time delsarte_bound_additive_hamming_space(19,15,7,solver='coin')
CPU times: user 87.9 ms, sys: 16.1 ms, total: 104 ms
Wall time: 160 ms
3
sage: %time delsarte_bound_additive_hamming_space(19,15,7,solver='interactivelp')
CPU times: user 10.6 s, sys: 91.1 ms, total: 10.7 s
Wall time: 10.8 s
3

archive/issue_comments_294729.json:

{
    "body": "<div id=\"comment:9\" align=\"right\">comment:9</div>\n\n(The change of the default base ring will be on a different ticket; because first #20415 needs to be done.)\nSo the present ticket is ready for review.",
    "created_at": "2016-04-11T04:08:26Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294729",
    "user": "https://github.com/mkoeppe"
}
comment:9

(The change of the default base ring will be on a different ticket; because first #20415 needs to be done.) So the present ticket is ready for review.


archive/issue_comments_294730.json:

{
    "body": "<div id=\"comment:10\"></div>\n\nBranch pushed to git repo; I updated commit sha1. This was a forced push. New commits:\n<table><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/de898ac2dcb90fa40b426089477df41def96e445\"><code>de898ac</code></a></td><td><code>InteractiveLPBackend: Use standard form transformation on optimal solution</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/b8ea5a285c9890ff3d1c992576da9f23d9f94d81\"><code>b8ea5a2</code></a></td><td><code>InteractiveLPBackend: Use InteractiveLPProblem's objective_constant_term</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/d84b5bd22120173b29d926541751f9e152a87d02\"><code>d84b5bd</code></a></td><td><code>InteractiveLPBackend.objective_constant_term: New</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/c8fa4b0a9a706f79786f8ee94e0c955e3cabae51\"><code>c8fa4b0</code></a></td><td><code>InteractiveLPBackend: Change default base_ring to QQ</code></td></tr></table>\n",
    "created_at": "2016-04-13T00:04:10Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294730",
    "user": "https://github.com/sagetrac-git"
}

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

de898acInteractiveLPBackend: Use standard form transformation on optimal solution
b8ea5a2InteractiveLPBackend: Use InteractiveLPProblem's objective_constant_term
d84b5bdInteractiveLPBackend.objective_constant_term: New
c8fa4b0InteractiveLPBackend: Change default base_ring to QQ

archive/issue_comments_294731.json:

{
    "body": "Changed commit from **[`c071f9a`](https://github.com/sagemath/sagetrac-mirror/commit/c071f9a2a60f375c6b0fc731d73e5bcb89d5ea93)** to **[`c8fa4b0`](https://github.com/sagemath/sagetrac-mirror/commit/c8fa4b0a9a706f79786f8ee94e0c955e3cabae51)**",
    "created_at": "2016-04-13T00:04:10Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294731",
    "user": "https://github.com/sagetrac-git"
}

Changed commit from c071f9a to c8fa4b0


archive/issue_events_285366.json:

{
    "actor": "https://github.com/mkoeppe",
    "created_at": "2016-04-13T00:07:20Z",
    "event": "renamed",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "title_is": "InteractiveLPProblem: Use standard-form transformation, objective_constant_term, change default base_ring to QQ",
    "title_was": "InteractiveLPProblem: Use standard-form transformation, objective_constant_term",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20413#event-285366"
}

archive/issue_comments_294732.json:

{
    "body": "<div id=\"comment:11\" align=\"right\">comment:11</div>\n\nRebased on top of 7.2.beta4, which merged #20415. \n\nMade the change to a better (much faster) default `base_ring` QQ. \n\nNeeds review.",
    "created_at": "2016-04-13T00:07:20Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294732",
    "user": "https://github.com/mkoeppe"
}
comment:11

Rebased on top of 7.2.beta4, which merged #20415.

Made the change to a better (much faster) default base_ring QQ.

Needs review.


archive/issue_comments_294733.json:

{
    "body": "Description changed:\n``````diff\n--- \n+++ \n@@ -3,4 +3,4 @@\n - use the standard-form transformation,\n - simplify its code slightly by making use of the new `objective_constant_term` handling in `InteractiveLPProblem`\n - make the example of optimizing over the dodecahedron more natural and remove use of backend methods.\n-\n+- change default `base_ring` to QQ -- a much saner default because it's so much faster\n``````\n",
    "created_at": "2016-04-13T00:07:20Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294733",
    "user": "https://github.com/mkoeppe"
}

Description changed:

--- 
+++ 
@@ -3,4 +3,4 @@
 - use the standard-form transformation,
 - simplify its code slightly by making use of the new `objective_constant_term` handling in `InteractiveLPProblem`
 - make the example of optimizing over the dodecahedron more natural and remove use of backend methods.
-
+- change default `base_ring` to QQ -- a much saner default because it's so much faster

archive/issue_comments_294734.json:

{
    "body": "Description changed:\n``````diff\n--- \n+++ \n@@ -1,5 +1,5 @@\n Follow-up on #20296, #20311, #20301. \n-Updating `InteractiveLPProblem` to:\n+Updating `InteractiveLPBackend` to:\n - use the standard-form transformation,\n - simplify its code slightly by making use of the new `objective_constant_term` handling in `InteractiveLPProblem`\n - make the example of optimizing over the dodecahedron more natural and remove use of backend methods.\n``````\n",
    "created_at": "2016-04-13T00:09:39Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294734",
    "user": "https://github.com/mkoeppe"
}

Description changed:

--- 
+++ 
@@ -1,5 +1,5 @@
 Follow-up on #20296, #20311, #20301. 
-Updating `InteractiveLPProblem` to:
+Updating `InteractiveLPBackend` to:
 - use the standard-form transformation,
 - simplify its code slightly by making use of the new `objective_constant_term` handling in `InteractiveLPProblem`
 - make the example of optimizing over the dodecahedron more natural and remove use of backend methods.

archive/issue_events_285367.json:

{
    "actor": "https://github.com/mkoeppe",
    "created_at": "2016-04-13T00:09:39Z",
    "event": "renamed",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "title_is": "InteractiveLPBackend: Use standard-form transformation, objective_constant_term, change default base_ring to QQ",
    "title_was": "InteractiveLPProblem: Use standard-form transformation, objective_constant_term, change default base_ring to QQ",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20413#event-285367"
}

archive/issue_comments_294735.json:

{
    "body": "<div id=\"comment:13\" align=\"right\">comment:13</div>\n\nCorrected the title/description -- this ticket is about the *MIP backend* using the interactive simplex method.",
    "created_at": "2016-04-13T00:10:35Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294735",
    "user": "https://github.com/mkoeppe"
}
comment:13

Corrected the title/description -- this ticket is about the MIP backend using the interactive simplex method.


archive/issue_comments_294736.json:

{
    "body": "<div id=\"comment:14\" align=\"right\">comment:14</div>\n\nlooks good.",
    "created_at": "2016-04-13T14:25:55Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294736",
    "user": "https://github.com/dimpase"
}
comment:14

looks good.


archive/issue_events_285368.json:

{
    "actor": "https://github.com/dimpase",
    "created_at": "2016-04-13T14:25:55Z",
    "event": "unlabeled",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "label": "https://github.com/sagemath/sage/labels/needs%20review",
    "label_color": "7fff00",
    "label_name": "needs review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20413#event-285368"
}

archive/issue_events_285369.json:

{
    "actor": "https://github.com/dimpase",
    "created_at": "2016-04-13T14:25:55Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "label": "https://github.com/sagemath/sage/labels/positive%20review",
    "label_color": "dfffc0",
    "label_name": "positive review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20413#event-285369"
}

archive/issue_comments_294737.json:

{
    "body": "Reviewer: **Dima Pasechnik**",
    "created_at": "2016-04-13T14:25:55Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294737",
    "user": "https://github.com/dimpase"
}

Reviewer: Dima Pasechnik


archive/issue_comments_294738.json:

{
    "body": "Changed branch from **[u/mkoeppe/fx_with_new_interactive_simplex_objshift](https://github.com/sagemath/sagetrac-mirror/tree/u/mkoeppe/fx_with_new_interactive_simplex_objshift)** to **[`c8fa4b0`](https://github.com/sagemath/sagetrac-mirror/commit/c8fa4b0a9a706f79786f8ee94e0c955e3cabae51)**",
    "created_at": "2016-04-14T21:56:56Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20413#issuecomment-294738",
    "user": "https://github.com/vbraun"
}

Changed branch from u/mkoeppe/fx_with_new_interactive_simplex_objshift to c8fa4b0


archive/issue_events_285370.json:

{
    "actor": "https://github.com/vbraun",
    "created_at": "2016-04-14T21:56:56Z",
    "event": "unlabeled",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "label": "https://github.com/sagemath/sage/labels/positive%20review",
    "label_color": "dfffc0",
    "label_name": "positive review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20413#event-285370"
}

archive/issue_events_285371.json:

{
    "actor": "https://github.com/vbraun",
    "commit_id": "8582c351e0cbb4e45ac3b473f7d485d5762f0c2e",
    "commit_repository": "https://github.com/sagemath/sage",
    "created_at": "2016-04-14T21:56:56Z",
    "event": "closed",
    "issue": "https://github.com/sagemath/sage/issues/20413",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20413#event-285371"
}