Skip to main content

Advanced Techniques

  • Chapter
  • First Online:
  • 6636 Accesses

Abstract

In this chapter I cover some of the tricks optimizers have developed over the years to twist models and cajole solvers into providing solutions for problems that do not easily fit the Procrustean rules of mathematical optimization.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    The expression column generation stemmed, in the minds of optimizers, as literal-minded as ever, from looking at the set of constraints as a matrix.

  2. 2.

    The interested reader should look up “reduced cost” and “column generation of the cutting stock” to pursue these matters.

  3. 3.

    Optimizers working in engineering or applied mathematics traditionally minimize convex functions. There is a whole area of research appropriately called convex analysis devoted to the theory of such problems. In contrast, optimizers in business usually maximize concave functions. The theory is the same, but everything is upside down. Maybe we should call one group the optimizers and the other the pessimizers?

  4. 4.

    Yet another example of the sadly unimaginative naming tradition of optimizers. Maybe this explains it. My Ph.D. advisor, said, only half in jest: “Do not name your algorithms with interesting names if you ever want them to be known by your name.” The implication was that if one names his algorithms Alg-1 and Alg-2 or something equally pedestrian, colleagues will have no choice but to refer to them as Smith-star or Jonesrevised. Alas, such hope at posterity is belied by the use of SOS2 and other mutts of the same ilk.

  5. 5.

    Though it is possible to model such constraints, it rarely makes much sense for continuous variables.

  6. 6.

    From res (genitive rei), Latin for object. The unusually creative nomenclature is due not to optimizers but to computer scientists working in the related (some would say adversarial) field of constraint programming.

  7. 7.

    The interested reader needs to research the branch-and-bound technique of integer programming.

  8. 8.

    Mathematics of Operations Research, the umbrella title for the topics of this book.

  9. 9.

    And priceless during the inevitable discussions with staff complaining vociferously that their preferences were not met. A modeler’s work is incomplete until the user accepts the solution.

  10. 10.

    Think NBA if you are US American, NHL if Canadian, ARL if Australian, or EPL if you are the colonizer of the previous three.

  11. 11.

    For the theoretically-minded, the primal-dual gap is smaller; optimality detection is easier.

  12. 12.

    Actually, even with deep internal knowledge, it may be near impossible to tell. Trying the approach to see if it works is orders of magnitude easier than reading the entrails of current integer solvers. Written in C, or worse C++, they have layers upon layers of complex cut generation routines with subtle interactions, not to mention cruft accumulated over years of development and debugging.

  13. 13.

    A rook attacks any piece in the same column or row, no matter the distance.

  14. 14.

    I have run this code on over 20,000 puzzles. In most cases, the model runs in a small fraction of a second; occasionally it will take a few seconds.

  15. 15.

    Raymond M. Smullyan, The Lady or the Tiger, and Other Logic Puzzles (Mineola, New York: Dover Publications, 2009).

  16. 16.

    In general, for integer programs, it is very difficult to find all solutions, but it is possible for many practical cases.

  17. 17.

    I believe the tradition started with Dennis Ritchie and Unix as simplifying medication against the Multics headache-inducing complexities.

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Serge Kruk

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Kruk, S. (2018). Advanced Techniques. In: Practical Python AI Projects. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-3423-5_7

Download citation

Publish with us

Policies and ethics