Machine Learning and AI Course Lab Project

2023-12-31 Machine Learning and AI Course Lab Project

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-using￾the-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.