Machine Learning and AI Course Lab Project 2023-2024
Introduction:
In electronic design, selecting optimal components of a circuit or a system widely appears, and a
genetic algorithm is often an alternative optimizer. In this project, you need to find values for the
resistors and thermistors in a circuit that meet the design criteria. To achieve this, the goal is to
minimize the difference between a desired response curve and the curve generated from a simulation
of the circuit. Note that resistors and thermistors are only available in standard sizes, so the design
variables are integers. The 6 design variables and their search ranges can be found in the above
hyperlink.
https://uk.mathworks.com/matlabcentral/fileexchange/35810-optimal-component-selection-usingthe-mixed-integer-genetic-algorithm
You may use the objective function and plot functions from the above hyperlink.
However, the problem that you need to solve is more than that. In real-world practice, simulation can
be computationally expensive. Therefore, obtaining the optimal design under the restriction of a
certain number of simulations (i.e., time) is a challenge for engineers. In this project, the simulation is
computationally cheap for you to try different ideas, but you need to consider it as computationally
expensive and has an upper limit that can be used. In other words, if you simply run GA, you may get
the optimum using 2000 simulations. However, the time used for 2000 simulations may be
unaffordable, and the maximum number of simulations that can be used maybe 1000. Hence, you
need to think of how to get the optimum of a similar quality within 1000 simulations. (2000 and 1000
are just examples, and the required number of simulations should follow the guidelines below.) You
need to think outside the box or the apparent solution/direction and think of a combined or hybrid
approach. The objective function value can be obtained by simulation but also by a machine learning
model when there are training data points. You may think of employing both simulations and
predictions using a machine learning model in the optimization process so as to save the number of
real simulations.
Tasks:
1. Propose a method to reach the error of 0.0025 (i.e., objective function value) within 1300
simulations. You need to carry out 10 runs using random seeds, and the 0.0025 within 1300
simulations is the average value. You may feel free to use any kind of method.
2. Write a report. In your report, the best, worst, and average optimal objective function values and
their standard deviations over 10 runs should be shown in a table. The convergence curve showing
the average of the best-so-far objective function values over 10 runs should be displayed. You also
need to provide the framework of your method, demonstrating how your method works. Your code
needs to be submitted as attachments for the GTAs to test.
Marks Distribution:
1. Your program obtains the required error value (0.0025 on average) efficiently. (80’)
Considering obtaining the average error of 0.0025, you will obtain 80’ if using 1300 simulations
or less, 50’ if using 2200 simulations, and 20’ if using 4000 simulations. Your score will be linearly
interpolated. For example, in terms of using 1800 simulations, the score is 80-(1800-
1300)/(2200-1300)*(80-50)=63.
2. Your plot correctly shows the convergence trend of GA (the x-axis should be the number of
simulations and the y-axis should be the current best error) and your table correctly shows the
statistics. Your method is described clearly. (20’)
1 and 2 are separate and the marking of 2 does not depend on the quality of 1.
Marking Criterion:
Marking Scheme Score
Program
correctness
The program cannot run. 0-10
80
The program can run but uses more than 4000 simulations to obtain
an average error of 0.0025. 11-20
The program uses smaller than 4000 but larger than 2200
simulations to obtain an average error of 0.0025. 21-50
The program uses smaller than 2200 but larger than 1300
simulations to obtain an average error of 0.0025. 51-79
The program uses 1300 simulations or less to obtain an average
error of 0.0025. 80
Report
quality
Your plot correctly shows the convergence trend. 5
20 Your table contains the correct statistical values. 5
Your description of the method is clear and comprehensive. 10
P.S. Please upload your project report in PDF format named “UoG ID + UESTC ID + Name”. Your code
needs to be submitted.