Main

## Solver Project

## Main.SolverProject History

Hide minor edits - Show changes to output

Added lines 1-60:

(:title Solver Project:)

(:keywords project, nonlinear, optimization, engineering optimization, engineering design, interior point, active set, differential, algebraic, modeling language, university course:)

(:description Solve a nonlinear programming problem of your own creation and with your own solver code. Optimization principles are used to design the system.:)

The second project for this course is similar in scope and size to the prior project but involves creating a custom solver to find an optimal design. The solver can be a modified version of an open-source solver or created as a new solver. The project should have the following characteristics as general guidelines:

* Involve an application from engineering

* Solver technology possibilities

** Local Solution Techniques

*** Active Set

*** Generalized Reduced Gradient (GRG)

*** Interior Point

** Discrete Optimization Techniques

*** Branch and Bound

*** Outer Approximation

** Global Solution Techniques

*** Multi-start with a Local Solver

** Global and Discrete Methods

*** Genetic Algorithms

*** Simulated Annealing

*** Multi-start with Branch and Bound

* Preferably involve an application from prior work experience or current research interests

* Problem size guidelines

** 3-10 design variables

** 10-50 equations

* Problem type guidelines

** Continuous variables preferred (LP, QP, NLP)

** Can include discrete variables (MILP, MIQP, MINLP)

** Empirical equations

** Equations from first principles

** Hybrid models: empirical and first principles

For the project report, turn in the following content:

# A 2-3 page write-up of the solution. Include solver tuning details that demonstrate an understanding not only of the solution, but of how the solver arrived at the solution. Include figures, equations, and problem background that formulates the mathematical model and presents the solution to the optimization problem. If the project builds upon another problem, include the relevant citations in the project write-up.

# A copy of the source code used to generate the solution.

The project reports will be graded on originality, technical difficulty, clarity of the problem statement, accuracy of the solution, description of the solution, and professionalism of the report.

----

Attach:group50.png This assignment can be completed in groups of three. Additional guidelines on individual, collaborative, and group assignments are provided under the [[Main/CourseStandards | Expectations link]].

----

(: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:)

(:keywords project, nonlinear, optimization, engineering optimization, engineering design, interior point, active set, differential, algebraic, modeling language, university course:)

(:description Solve a nonlinear programming problem of your own creation and with your own solver code. Optimization principles are used to design the system.:)

The second project for this course is similar in scope and size to the prior project but involves creating a custom solver to find an optimal design. The solver can be a modified version of an open-source solver or created as a new solver. The project should have the following characteristics as general guidelines:

* Involve an application from engineering

* Solver technology possibilities

** Local Solution Techniques

*** Active Set

*** Generalized Reduced Gradient (GRG)

*** Interior Point

** Discrete Optimization Techniques

*** Branch and Bound

*** Outer Approximation

** Global Solution Techniques

*** Multi-start with a Local Solver

** Global and Discrete Methods

*** Genetic Algorithms

*** Simulated Annealing

*** Multi-start with Branch and Bound

* Preferably involve an application from prior work experience or current research interests

* Problem size guidelines

** 3-10 design variables

** 10-50 equations

* Problem type guidelines

** Continuous variables preferred (LP, QP, NLP)

** Can include discrete variables (MILP, MIQP, MINLP)

** Empirical equations

** Equations from first principles

** Hybrid models: empirical and first principles

For the project report, turn in the following content:

# A 2-3 page write-up of the solution. Include solver tuning details that demonstrate an understanding not only of the solution, but of how the solver arrived at the solution. Include figures, equations, and problem background that formulates the mathematical model and presents the solution to the optimization problem. If the project builds upon another problem, include the relevant citations in the project write-up.

# A copy of the source code used to generate the solution.

The project reports will be graded on originality, technical difficulty, clarity of the problem statement, accuracy of the solution, description of the solution, and professionalism of the report.

----

Attach:group50.png This assignment can be completed in groups of three. Additional guidelines on individual, collaborative, and group assignments are provided under the [[Main/CourseStandards | Expectations link]].

----

(: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:)