The goal of this homework is to implement and compare two EA-based approaches for solving constrained optimization problems. In fact, you will mostly just reuse the implementations you have already coded within the past two lab exercises.
Add to the comparison another MOEA approach that works with the following objectives
When solving the transformed MO problem, you shall realize that each front of non-dominated solutions in NSGA-II may contain at most a single solution with zero constraint violation. I.e., in the whole NSGA-II population, there will be only a few feasible individuals. Propose, implement and test a method that allows a higher proportion of feasible individuals to be present in the population. (E.g., introduce some archive of feasible individuals and modify the breeding such that part of the new offspring uses only feasible parents, another part uses one feasible and one infeasible, etc.).
Implement a function that will graphically display the best obtained solutions in relation to the optimum solution and to the feasible and infeasible areas.
Compare the methods on at least one problem with more than 3 variables and more than 3 constraints such as g04, g05, g09 and g21.
Implement modified binary tournament operator for NSGA-II that takes into account feasibility of solutions, see slide “NSGA-II: Constraint Handling Approach” in MOEA slides. Compare NSGA-II using the modified binary tournament with the original two approaches.
Implement and test some other constraint handling method of your choice.
Implement and test other MOEA than the NSGA-II (e.g., MOEA/D) and use it in the bi-objective or multi-objective mode.
Likewise the first homework, also this homework has some minimal requirements: if you fulfill only them, you will still get the points required for this homework. Anything beyond these minimal requirements will bring you some additional points up to the maximum number of 10 points.
We shall deem this homework fulfilled, if you
Also, keep in mind that we primarily seek for the best feasible solution, i.e., the presented results shall not contain quality/objective value of infeasible candidates (or they shall be at least visibly marked as such). But of course, the algorithm can use quality of infeasible individuals quite freely.
You should submit your solution to task DU2 via a ZIP archive using BRUTE. The ZIP archive shall contain
During the evaluation, we may require you to demonstrate the functionality of your implementation of certail lab exercise (or via an online meeting). If you chose a programming languge other than Python, Julia, Java, or C/C++, the demonstration will be probably required.
Expected form of the report:
Expected contents of the report:
For this homework, you can get up to 10 points.
| Points | For what |
|---|---|
| 5 | For fulfilling minimal requirements. |
| +1 | For a comparison with the multi-objective (not only bi-objective) approach. |
| +1 | For a method improving the preservation of feasible individuals in NSGA-II. |
| +1 | For visualizing the achived results. |
| +1 | For a comparison of the algorithms on more complex problems. |
| +1 | For a comparison with the NSGA-II with the modified binary tournament operator. |
| +1 | For a comparison with some other constraint handling approach of your choice. |
| +1 | For a comparison with other than the NSGA-II multi-objective algorithm. |
| +1 | … for any other interesting extension. |