Teaching Students Nonlinear Programming with Computer Algebra System
This paper presents several didactic examples of the nonlinear programming (NLP) problems solved with Mathematica. We solved examples of Karush–Kuhn–Tucker necessary conditions, Lagrange multipliers method, convex optimization, and graphical method. We compared the hand calculation in Karush–Kuhn–Tucker method with Lagrange multipliers method. The paper contains Mathematica symbolic codes used for Karush–Kuhn–Tucker necessary conditions and the Hessian analysis in convex optimization. We present also some didactic graphs for various aspects of NLP problems using plots and dynamic plots. The use of Mathematica during teaching students about NLP by Computer Algebra System (CAS) seems to be very useful both as the calculations support (checking hand calculation) and when creating didactic graphical visualizations using dynamic plots. We did not find in available literature any similar example of NLP problems solved with CAS or the use of dynamic plots.
KeywordsHigher education Mathematical didactics Nonlinear programming Mathematical programming Application of CAS Mathematica
Mathematics Subject Classification97B40 97R20 90C30 97I60
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.