Main

* [[http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/assignments/ | MIT Open Course Ware Tutorial on Python and IDLE]]

!!!! Tutorial on MATLAB and Python

[[Attach:nlp_matlab_python_tutorial.zip | Download MATLAB and Python Tutorial Files (nlp_matlab_python_tutorial.zip)]]

(:html:)

<iframe width="560" height="315" src="http://www.youtube.com/embed/t84YMw8p34w?rel=0" frameborder="0" allowfullscreen></iframe>

(:htmlend:)

[[Attach:nlp_matlab_python_tutorial.zip | Download Tutorial Files]]

[[Attach:nlp_matlab_python_tutorial.zip | Download Tutorial Files]]
~~A few optimization software packages are listed~~ below. Assignments and projects can be completed with any of these software ~~packages~~.

----

!!! Python

Python is an open-source, versatile, interpreted high-level programming language that is supported on Windows, Linux, MacOS, etc. Python is extended by a number of add-on packages for optimization, numeric analysis, and graphical analysis. The following packages are recommended for Windows users and include Python 2.7, Numpy 1.6.2, and Matplotlib 1.2.0.

* [[Attach:python-2.7.3.msi | Python 2.7 for Windows]]

* [[Attach:numpy-1.6.2.exe | Numpy 1.6.2 for Windows]]

* [[Attach:matplotlib-1.2.0.exe | Matplotlib 1.2.0 for Windows]]

Any additional packages must be compatible with Python 2.7 (32-bit version). The 32-bit version is recommended because official releases of Numpy and Scipy packages are only available in that format. There are many optimization packages that have been developed for Python with a few of them listed below:

* [[https://software.sandia.gov/trac/coopr/wiki/Documentation/RelatedProjects | List of Python Optimization Packages]]

* [[http://www.scipy.org/ | Scientific Computing with SciPy]]

This course uses the [[http://apmonitor.com/wiki/index.php/Main/PythonApp | APM Python package]] for tutorials and class instruction. The APMonitor Modeling Language is integrated with Python through a set of functions that allow optimization problems to be solved as a web-service.

* [[http://en.wikipedia.org/wiki/Python_(programming_language) | Wikipedia: Python]]

!!! MATLAB

MATLAB allows mathematical operations, plotting, creation of user interfaces, and interfacing with programs written in other languages, including C, C++, Fortran, and Java. A number of optimization tools are available in the [[http://www.mathworks.com/products/optimization/ | Optimization Toolbox]]. An additional package, Simulink, adds graphical simulation and design for dynamic systems. MATLAB users come from engineering, science, and economics in both academic research and industrial applications.

## Optimization Course Software

## Main.OptimizationTools History

Hide minor edits - Show changes to output

Added line 49:

* [[Attach:pywin32-218.exe | Pywin32 218 for Windows]]

Changed line 43 from:

Python is an open-source, versatile, interpreted high-level programming language that is supported on Windows, Linux, MacOS, etc. Python is extended by a number of add-on packages for optimization, numeric analysis, and graphical analysis. The following packages are recommended for Windows users and include Python 2.7, Numpy 1.6.2, ~~and ~~Matplotlib 1.2.0.

to:

Python is an open-source, versatile, interpreted high-level programming language that is supported on Windows, Linux, MacOS, etc. Python is extended by a number of add-on packages for optimization, numeric analysis, and graphical analysis. The following packages are recommended for Windows users and include Python 2.7, Numpy 1.6.2, Matplotlib 1.2.0, Scipy 0.11.0, and Pyserial 2.5.

Added lines 47-48:

* [[Attach:scipy-0.11.0.exe | Scipy 0.11.0 for Windows]]

* [[Attach:pyserial-2.5.exe | Pyserial 2.5 for Windows]]

* [[Attach:pyserial-2.5.exe | Pyserial 2.5 for Windows]]

Added lines 54-58:

Additional links:

* [[http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#Python | Comparison of Python Integrated Development Environments (IDEs)]]

* [[http://youtu.be/vHRRiBHI3to | Python IDE with Eclipse]]

* [[http://youtu.be/pgBdFgLngkk | Python IDE with Wingware]]

* [[http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#Python | Comparison of Python Integrated Development Environments (IDEs)]]

* [[http://youtu.be/vHRRiBHI3to | Python IDE with Eclipse]]

* [[http://youtu.be/pgBdFgLngkk | Python IDE with Wingware]]

Added lines 53-54:

* [[http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/assignments/ | MIT Open Course Ware Tutorial on Python and IDLE]]

Deleted lines 5-13:

!!!! Tutorial on MATLAB and Python

[[Attach:nlp_matlab_python_tutorial.zip | Download MATLAB and Python Tutorial Files (nlp_matlab_python_tutorial.zip)]]

(:html:)

<iframe width="560" height="315" src="http://www.youtube.com/embed/t84YMw8p34w?rel=0" frameborder="0" allowfullscreen></iframe>

(:htmlend:)

Changed line 10 from:

[[Attach:nlp_matlab_python_tutorial.zip | Download MATLAB and Python Tutorial Files]]

to:

[[Attach:nlp_matlab_python_tutorial.zip | Download MATLAB and Python Tutorial Files (nlp_matlab_python_tutorial.zip)]]

Added lines 9-10:

[[Attach:nlp_matlab_python_tutorial.zip | Download MATLAB and Python Tutorial Files]]

Deleted lines 13-14:

[[Attach:nlp_matlab_python_tutorial.zip | Download Tutorial Files]]

Added lines 12-13:

[[Attach:nlp_matlab_python_tutorial.zip | Download Tutorial Files]]

Changed lines 61-78 from:

----

to:

----

(:html:)

<div id="disqus_thread"></div>

<script type="text/javascript">

/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */

var disqus_shortname = 'apmonitor'; // required: replace example with your forum shortname

/* * * DON'T EDIT BELOW THIS LINE * * */

(function() {

var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;

dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';

(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);

})();

</script>

<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>

<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

(:htmlend:)

(:html:)

<div id="disqus_thread"></div>

<script type="text/javascript">

/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */

var disqus_shortname = 'apmonitor'; // required: replace example with your forum shortname

/* * * DON'T EDIT BELOW THIS LINE * * */

(function() {

var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;

dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';

(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);

})();

</script>

<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>

<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

(:htmlend:)

Changed line 15 from:

to:

Information on APMonitor, MATLAB, OptdesX, and Python is listed below. Assignments and projects can be completed with any of these software platforms.

Added lines 7-14:

!!!! Tutorial on MATLAB and Python

(:html:)

<iframe width="560" height="315" src="http://www.youtube.com/embed/t84YMw8p34w?rel=0" frameborder="0" allowfullscreen></iframe>

(:htmlend:)

!!!! Optimization Software

(:html:)

<iframe width="560" height="315" src="http://www.youtube.com/embed/t84YMw8p34w?rel=0" frameborder="0" allowfullscreen></iframe>

(:htmlend:)

!!!! Optimization Software

Changed line 19 from:

!!! APMonitor

to:

!!!! APMonitor

Changed line 29 from:

!!! MATLAB

to:

!!!! MATLAB

Changed line 41 from:

!!! OptdesX

to:

!!!! OptdesX

Changed line 48 from:

!!! Python

to:

!!!! Python

Changed line 34 from:

The OptdesX software was developed at BYU. It contains the best algorithms still in use for constrained nonlinear optimization, including the algorithms in Excel and Matlab. We use OptdesX as a learning tool and we can get inside the code and see what the algorithms are doing, which we cannot do with other software. We can also look at gradients, which are very useful in understanding scaling and in developing robust designs. OptdesX is available through CAEDM Linux workstations or through remote logon to shared servers.

to:

The OptdesX software was developed at BYU. It contains some of the best algorithms still in use for constrained nonlinear optimization, including the algorithms in Excel and Matlab. We use OptdesX as a learning tool and we can get inside the code and see what the algorithms are doing, which we cannot do with other software. We can also look at gradients, which are very useful in understanding scaling and in developing robust designs. OptdesX is available through CAEDM Linux workstations or through remote logon to shared servers.

Changed line 14 from:

* [[http://apmonitor.com/wiki/index.php/Main/SyntaxHighlighting | APM File Editor]]

to:

* [[http://apmonitor.com/wiki/index.php/Main/SyntaxHighlighting | APM Model File Editor]]

Added line 14:

* [[http://apmonitor.com/wiki/index.php/Main/SyntaxHighlighting | APM File Editor]]

Changed lines 5-6 from:

There are many software tools available to solve optimization problems ranging from free and open-source to proprietary commercial packages. ~~A few optimization software packages are listed below. Assignments and projects can ~~be ~~completed with any available~~ software packages.

to:

There are many software tools available to solve optimization problems ranging from free and open-source to proprietary commercial packages. In general, students want to chose a software platform that will be both state-of-the-art and accessible long-term. Solving optimization problems requires some familiarity with a computer programming language. Some of the [[http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html | popular programming languages (see TIOBE index)]] also include capabilities for scientific computing.

A few optimization software packages are listed below. Assignments and projects can be completed with any of these software packages.

A few optimization software packages are listed below. Assignments and projects can be completed with any of these software packages.

Deleted line 13:

Deleted line 14:

Changed lines 16-17 from:

to:

* [[http://en.wikipedia.org/wiki/APMonitor | Wikipedia: APMonitor]]

Changed lines 28-29 from:

to:

* [[http://en.wikipedia.org/wiki/MATLAB | Wikipedia: MATLAB]]

Deleted line 34:

Added lines 36-53:

----

!!! Python

Python is an open-source, versatile, interpreted high-level programming language that is supported on Windows, Linux, MacOS, etc. Python is extended by a number of add-on packages for optimization, numeric analysis, and graphical analysis. The following packages are recommended for Windows users and include Python 2.7, Numpy 1.6.2, and Matplotlib 1.2.0.

* [[Attach:python-2.7.3.msi | Python 2.7 for Windows]]

* [[Attach:numpy-1.6.2.exe | Numpy 1.6.2 for Windows]]

* [[Attach:matplotlib-1.2.0.exe | Matplotlib 1.2.0 for Windows]]

Any additional packages must be compatible with Python 2.7 (32-bit version). The 32-bit version is recommended because official releases of Numpy and Scipy packages are only available in that format. There are many optimization packages that have been developed for Python with a few of them listed below:

* [[https://software.sandia.gov/trac/coopr/wiki/Documentation/RelatedProjects | List of Python Optimization Packages]]

* [[http://www.scipy.org/ | Scientific Computing with SciPy]]

This course uses the [[http://apmonitor.com/wiki/index.php/Main/PythonApp | APM Python package]] for tutorials and class instruction. The APMonitor Modeling Language is integrated with Python through a set of functions that allow optimization problems to be solved as a web-service.

* [[http://en.wikipedia.org/wiki/Python_(programming_language) | Wikipedia: Python]]

Deleted line 10:

Added line 12:

Added line 14:

Deleted line 26:

Deleted line 32:

Changed lines 34-35 from:

[[http://link.springer.com/article/10.1007%2Fs00158-002-0172-8?LI=true | Overview of OptdesX]]

[[Attach:OptdesX_Manual.pdf | OptdesX Manual]]

[[Attach:OptdesX_Manual.pdf | OptdesX Manual]]

to:

* [[http://link.springer.com/article/10.1007%2Fs00158-002-0172-8?LI=true | Overview of OptdesX]]

* [[Attach:OptdesX_Manual.pdf | OptdesX Manual]]

* [[Attach:OptdesX_Manual.pdf | OptdesX Manual]]

Changed lines 34-37 from:

----

to:

[[http://link.springer.com/article/10.1007%2Fs00158-002-0172-8?LI=true | Overview of OptdesX]]

[[Attach:OptdesX_Manual.pdf | OptdesX Manual]]

----

[[Attach:OptdesX_Manual.pdf | OptdesX Manual]]

----

Changed line 5 from:

There are many software tools available to solve optimization problems ranging from free and open-source to proprietary commercial packages. ~~Four~~ optimization software packages are listed below. Assignments and projects can be completed with any available software packages.

to:

There are many software tools available to solve optimization problems ranging from free and open-source to proprietary commercial packages. A few optimization software packages are listed below. Assignments and projects can be completed with any available software packages.

Changed lines 22-24 from:

# [[https://citrix.et.byu.edu/Citrix/XenApp/auth/login.aspx | BYU Citrix logon]] with a CAEDM account~~.~~

# [[http://info.et.byu.edu/index.php5?title=RGS | BYU RGS servers]]

to:

# [[https://citrix.et.byu.edu/Citrix/XenApp/auth/login.aspx | BYU Citrix logon]] with a BYU CAEDM account

# [[http://info.et.byu.edu/index.php5?title=RGS | BYU RGS servers]] with a BYU CAEDM account

# [[http://info.et.byu.edu/index.php5?title=RGS | BYU RGS servers]] with a BYU CAEDM account

Deleted line 34:

Changed line 32 from:

The OptdesX software was developed at BYU. It contains the best algorithms still in use for constrained nonlinear optimization, including the algorithms in Excel and Matlab. We use OptdesX as a learning ~~tool—we~~ can get inside the code and see what the algorithms are doing, which we cannot do with other software. We can also look at gradients, which are very useful in understanding scaling and in developing robust designs. OptdesX is available through CAEDM Linux workstations or through remote logon to shared servers.

to:

The OptdesX software was developed at BYU. It contains the best algorithms still in use for constrained nonlinear optimization, including the algorithms in Excel and Matlab. We use OptdesX as a learning tool and we can get inside the code and see what the algorithms are doing, which we cannot do with other software. We can also look at gradients, which are very useful in understanding scaling and in developing robust designs. OptdesX is available through CAEDM Linux workstations or through remote logon to shared servers.

Added lines 5-8:

There are many software tools available to solve optimization problems ranging from free and open-source to proprietary commercial packages. Four optimization software packages are listed below. Assignments and projects can be completed with any available software packages.

----

----

Added lines 12-17:

* [[http://apmonitor.com/wiki | APMonitor Documentation]]

* [[http://apmonitor.com/wiki/index.php/Main/MATLAB | APMonitor MATLAB Toolbox]]

* [[http://apmonitor.com/wiki/index.php/Main/PythonApp | APMonitor Python Toolbox]]

----

* [[http://apmonitor.com/wiki/index.php/Main/MATLAB | APMonitor MATLAB Toolbox]]

* [[http://apmonitor.com/wiki/index.php/Main/PythonApp | APMonitor Python Toolbox]]

----

Changed lines 19-20 from:

MATLAB allows mathematical operations, plotting, creation of user interfaces, and interfacing with programs written in other languages, including C, C++, Fortran, and Java. A number of optimization tools are available in the [[http://www.mathworks.com/products/optimization/ | Optimization Toolbox]]. An additional package, Simulink, adds graphical simulation and design for dynamic systems. MATLAB users come from engineering, science, and economics in both academic research and industrial applications.

to:

MATLAB allows mathematical operations, plotting, creation of user interfaces, and interfacing with programs written in other languages, including C, C++, Fortran, and Java. A number of optimization tools are available in the [[http://www.mathworks.com/products/optimization/ | Optimization Toolbox]]. An additional package, Simulink, adds graphical simulation and design for dynamic systems. MATLAB users come from engineering, science, and economics in both academic research and industrial applications. MATLAB is available through the following methods:

# Download MATLAB from [[http://software.byu.edu | software.byu.edu]] for installation on a personal computer

# [[https://citrix.et.byu.edu/Citrix/XenApp/auth/login.aspx | BYU Citrix logon]] with a CAEDM account.

# [[http://info.et.byu.edu/index.php5?title=RGS | BYU RGS servers]]

Please note that Citrix and RGS perform computing on shared servers with performance that can be less desirable at times of high loading. The most reliable route is to download MATLAB on a personal computer.

* [[http://www.mathworks.com/products/optimization/ | MATLAB Optimization Toolbox]]

----

# Download MATLAB from [[http://software.byu.edu | software.byu.edu]] for installation on a personal computer

# [[https://citrix.et.byu.edu/Citrix/XenApp/auth/login.aspx | BYU Citrix logon]] with a CAEDM account.

# [[http://info.et.byu.edu/index.php5?title=RGS | BYU RGS servers]]

Please note that Citrix and RGS perform computing on shared servers with performance that can be less desirable at times of high loading. The most reliable route is to download MATLAB on a personal computer.

* [[http://www.mathworks.com/products/optimization/ | MATLAB Optimization Toolbox]]

----

Changed lines 32-35 from:

The OptdesX software was developed at BYU. It contains the best algorithms still in use for constrained nonlinear optimization, including the algorithms in Excel and Matlab. We use OptdesX as a learning tool—we can get inside the code and see what the algorithms are doing, which we cannot do with other software. We can also look at gradients, which are very useful in understanding scaling and in developing robust designs.

to:

The OptdesX software was developed at BYU. It contains the best algorithms still in use for constrained nonlinear optimization, including the algorithms in Excel and Matlab. We use OptdesX as a learning tool—we can get inside the code and see what the algorithms are doing, which we cannot do with other software. We can also look at gradients, which are very useful in understanding scaling and in developing robust designs. OptdesX is available through CAEDM Linux workstations or through remote logon to shared servers.

----

----

Added lines 7-9:

!!! MATLAB

MATLAB allows mathematical operations, plotting, creation of user interfaces, and interfacing with programs written in other languages, including C, C++, Fortran, and Java. A number of optimization tools are available in the [[http://www.mathworks.com/products/optimization/ | Optimization Toolbox]]. An additional package, Simulink, adds graphical simulation and design for dynamic systems. MATLAB users come from engineering, science, and economics in both academic research and industrial applications.

Added lines 1-9:

(:title Optimization Course Software:)

(:keywords nonlinear, optimization, engineering optimization, kuhn-tucker, gradient methods, grg, interior point, active set, differential, algebraic, modeling language, university course:)

(:description Optimization software for use in engineering at Brigham Young University:)

!!! APMonitor

The APMonitor Modeling Language is optimization software for differential and algebraic equations. It is coupled with large-scale nonlinear programming solvers for data reconciliation, real-time optimization, dynamic simulation, and nonlinear predictive control. It is available as a web service through an internet browser or as an add-in package to MATLAB or Python programming languages.

!!! OptdesX

The OptdesX software was developed at BYU. It contains the best algorithms still in use for constrained nonlinear optimization, including the algorithms in Excel and Matlab. We use OptdesX as a learning tool—we can get inside the code and see what the algorithms are doing, which we cannot do with other software. We can also look at gradients, which are very useful in understanding scaling and in developing robust designs.

(:keywords nonlinear, optimization, engineering optimization, kuhn-tucker, gradient methods, grg, interior point, active set, differential, algebraic, modeling language, university course:)

(:description Optimization software for use in engineering at Brigham Young University:)

!!! APMonitor

The APMonitor Modeling Language is optimization software for differential and algebraic equations. It is coupled with large-scale nonlinear programming solvers for data reconciliation, real-time optimization, dynamic simulation, and nonlinear predictive control. It is available as a web service through an internet browser or as an add-in package to MATLAB or Python programming languages.

!!! OptdesX

The OptdesX software was developed at BYU. It contains the best algorithms still in use for constrained nonlinear optimization, including the algorithms in Excel and Matlab. We use OptdesX as a learning tool—we can get inside the code and see what the algorithms are doing, which we cannot do with other software. We can also look at gradients, which are very useful in understanding scaling and in developing robust designs.