Skip to main content

Introduction

  • Chapter
  • First Online:
Practical Python AI Projects
  • 6691 Accesses

Abstract

Artificial intelligence is a wide field covering diverse techniques, objectives, and measures of success. One branch is concerned with finding provably optimal solutions to some well-defined problems.

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

Access this chapter

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

Institutional subscriptions

Notes

  1. 1.

    I use the term “optimizers ” to name the mathematicians, theoreticians, and practitioners, who, since the nineteen-fifties, have worked in the fields of linear programming (LP) and integer programming (IP). There are others who could make valid claims to the moniker, chiefly among them researchers in constraint programming, but my focus will be mostly in LP and IP models, hence my restricted definition.

  2. 2.

    My doctoral advisor used to say “There are error-free mathematical papers.” But we only have found an existence proof of that theorem. I will not claim that the code is error-free, but I am certain that it has fewer errors than any mathematical paper I ever wrote.

  3. 3.

    https://github.com/google/or-tools

  4. 4.

    The one and only editor: http://emacs.org

  5. 5.

    http://orgmode.org/

  6. 6.

    This seemingly trivial change from “exactly equal” to “at most” represents more than 2,000 years of mathematical development in solution techniques. We have known how to solve the “equal” form since ancient Babylonians (though it is known today as “Gaussian elimination”) and we teach it in high school, but we only discovered how to solve the “at most” form in the twentieth century.

  7. 7.

    Writing in Common Lisp would be even better. Alas, there is no Lisp binding for OR-Tools yet.

  8. 8.

    https://developers.google.com/optimization/lp/glop

  9. 9.

    www.gnu.org/software/glpk/

  10. 10.

    https://projects.coin-or.org/Clp

  11. 11.

    See, for example, Alexander Schrijver, Theory of Linear and Integer Programming (Hoboken, NJ: Wiley, 1998).

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). Introduction. In: Practical Python AI Projects. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-3423-5_1

Download citation

Publish with us

Policies and ethics