唐·克努特(Don Knuth)的 MIP,64 年后

  • Main point: In 1960, Don Knuth wrote a technical paper considering an integer programming model for minimizing memory access latency on an IBM 650. He used Ralph Gomory's technique but couldn't find an optimal solution. Thirty-five years later, Dimitris Alevras used CPLEX on a SPARCstation 5 to find the optimum value. The author translated the problem into Python code and found that open source solver SCIP could find the optimal solution in two tenths of a second and Gurobi in less than 0.1s, showing the effectiveness of operations research.
  • Key information:

    • In 1960, Don Knuth's paper on integer programming model for IBM 650 (paper link: https://dl.acm.org/doi/10.114... with 51 variables and 43 constraints.
    • Knuth used Ralph Gomory's technique (reference: https://www.jstor.org/stable/... without modern communication tools.
    • Thirty-five years later, Dimitris Alevras found the optimum value of 22996 using CPLEX on a SPARCstation 5 with 32,200 branch-and-bound nodes.
    • The author translated the problem into Python code and provided an MPS file (https://github.com/natebrix/k...
    • Open source solver SCIP found the optimal solution in 0.2 seconds and Gurobi in less than 0.1 seconds.
  • Important details:

    • Knuth ran Gomory's algorithm on an IBM 650 with less than 10K of memory.
    • No CPU time was reported in Knuth's writeup, but the solution time was assumed to be minutes or likely hours.
    • The author showed images (screenshots and a generated image) related to the problem and its solutions.
阅读 12
0 条评论