联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Python编程Python编程

日期:2024-01-01 09:53


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

The program cannot run. 0-10

 Score 11-20

    The program can run but uses more than 4000 simulations to obtain an average error of 0.0025.

Program correctness

Report quality

P.S. Please upload your project report in PDF format named “UoG ID + UESTC ID + Name”. Your code needs to be submitted.

 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

  80

    Your plot correctly shows the convergence trend. 5

Your table contains the correct statistical values.

Your description of the method is clear and comprehensive. 10

 5 20

   


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp