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.

This assignment can be completed in groups of three. Additional guidelines on individual, collaborative, and group assignments are provided under the Expectations link.