# Nonlinear Optimization and Applications

## CSI 747 / MATH 689

Schedule: W 7:20-10:00 pm, Exploratory Hall 4106
Instructor: Igor Griva, igriva@gmu.edu , (703) 993-4511
Office hours: W 10:00 - 11:00 pm, Exploratory Hall, Rm 4114
Prerequisite: Permission of instrustor
Webpage: math.gmu.edu/~igriva/CSI747.html
Text: Robert Fourer, David M. Gay, and Brian W. Kernighan, AMPL: A Modeling Language for Mathematical Programming. Duxbury Press / Brooks/Cole Publishing Company, 2002
Exams: There is one midterm exam: November 16 (points 0 - 100)
Final Exam : December 14 (points 0 - 100)
Final score: F = 0.3*(Midterm) + 0.4*(Homework / Projects) + 0.3*(Final Exam)

General description:

The course focuses on practical aspects of nonlinear optimization. The main goal of this class is to show students how to use modern optimization tools in order to solve important problems arising in many areas of science and engineering. We consider problems in the following areas: data analysis, computational learning, mechanics, optical design, trajectory optimization, shape optimization, optimal control and finance.

The course demonstrates that many real world problems can be modeled as optimization problems and solved by widely available optimization tools. Throughout the course we present various optimization models and demonstrate how to solve them using optimization software. These models are expressed in the AMPL modeling language. This language is used as a common mechanism for conveying optimization problems. The course emphasizes the importance of proper modeling. One of the main point this course illustrates is that often a real world problem can have multiple equivalent mathematical formulations some of which are numerically tractable while others are not. Basics of nonlinear optimization theory will be also discussed.

Additional text on optimization methods: Igor Griva, Stephen G. Nash, Ariela Sofer, Linear and Nonlinear Optimization, Second Edition, SIAM, Philadelphia, 2009

Instructions how to install and run AMPL with solvers

For Windows systems:

To install: Create a folder where you will put all your AMPL-related files. Copy the distribution zipfile, ampl_mswin32.zip or ampl_mswin64.zip, to your folder. Then "unzip" this file to place all of the individual AMPL program files into your folder; usually the unzip process can be started by double-clicking on the zipfile.

To run immediately: Double-click "sw.exe" and type "ampl" at the prompt in the window that appears. Then you will see an "ampl:" prompt and can proceed to type AMPL commands. By default the MINOS solver will be invoked by AMPL's "solve;" command; to switch to another solver, use a command of the form "option solver xxx;" where xxx is a solver that you have been instructed to use.

To run in an integrated application: Follow the Windows instructions to install the AMPL IDE.

For Linux systems:

To install: Create a directory where you will put all your AMPL-related files. Copy the distribution zipfile, ampl_linux-intel32.zip or ampl_linux-intel64.zip, to your directory. Then "unzip" this file to place all of the individual AMPL program files into your directory; most Linux systems provide an unzip command for this purpose, or you can use the decompression option of the zip command.

To run immediately: Open a command window, use "cd" to go to your AMPL directory, and type "ampl" at the system prompt. Then you will see an "ampl:" prompt and can proceed to type AMPL commands. By default the MINOS solver will be invoked by AMPL's "solve;" command; to switch to another solver, use a command of the form "option solver xxx;" where xxx is a solver that you have been instructed to use.

To run in an integrated application: Follow the Linux instructions to install the AMPL IDE.

For MacOS systems:

To install: Create a folder where you will put all your AMPL-related files. Copy the distribution zipfile, ampl_macosx32.zip or ampl_macosx64.zip, to your folder. Then "unzip" this file to place all of the individual AMPL program files into your folder; usually the unzip process can be started by double-clicking on the zipfile.

To run immediately: Open a Mac terminal window, use "cd" to go to your AMPL folder, and type "./ampl" at the system prompt. Then you will see an "ampl:" prompt and can proceed to type AMPL commands. By default the MINOS solver will be invoked by AMPL's "solve;" command; to switch to another solver, use a command of the form "option solver './xxx';" where xxx is a solver that you have been instructed to use.

To run in an integrated application: Follow the MacOS instructions to install the AMPL IDE.