Shaokang's Blog

Note: This is a group project for a course. I am responsible for coding the actual model and optimizing its structure to make the model run much faster (over 200 times). I am also responsible for scraping data from the official site and setting up github action to regularly update the data source using puppeteer, which could simulate real user behavior and can never been blocked. You can find the relevant repository at ShaokangJiang/CSE-203B-crapping (github.com). My code can be seen at the end of this post.

Nowadays, new computer components are introduced into the retail market annually. Customers may find that the abundant component choices make it difficult to choose the optimum combination of hardware components while building a new computer. This project aims to take in the main components of a computer hardware build and provide several of the highest-performing options that can meet a consumer’s budget.

In a system where multiple types of energy source exist, running all components at all available times could be a waste by considering multiple different factors, including the device depreciation, normal energy in maintaining the entire system running. This waste is a significant factor when lower wind for wind producer happen, or lower light for light producer happen, or other stuff.

This is a javafx based energy running simulation simulator with choco-solver to find optimal threshold, which will be used to determine the time to turn on the device and time to turn off. It contains methods to analyze history data to predict a threshold to make the entire system running as efficient as it could. After proper data is provided, system will run based on a threshold setting from user or automatically analyzed based on history data so that no energy will be wasted. This app is done solely by me.

In a system where multiple types of energy source exist, running all components at all available times could be a waste by considering multiple different factors, including the device depreciation, normal energy in maintaining the entire system running. This waste is a significant factor when lower wind for wind producer happen, or lower light for light producer happen, or other stuff.

This is a web based energy running simulation simulator with jsLpsolver to find optimal threshold, which will be used to determine the time to turn on the device and time to turn off. It contains methods to analyze history data to predict a threshold to make the entire system running as efficient as it could. After proper data is provided, system will run based on a threshold setting from user or automatically analyzed based on history data so that no energy will be wasted. This app is done solely by me. More details is as below:

A simple limitation is too less sometime. If we are using the fixed threshold, then we could simply let threshold to be the time that consumption is equal to usage. And we are not able to handle the battery capacity as well. This might not meet the real case. In the real case, equipment will use large amount of energy when they start. So the model should be able to predict. Thought wind does change everyday, but it is still some kind of predictable. So, we could train a model from the history data and then predict the wind speed in the future, like one year. We could use TensorFlow.js for training. Then Solve an optimization problem to see what would be the best time to start the engine and what would be the best time to stop the engine. Or solving an optimization problem to find the threshold to turn on or off the equipment would also better than a simple one.

This project is a group work designed and solve by Shaokang Jiang & Katherine Fu for course CS524 project.

Optimization is a powerful way to solve real problem in a short amount of time. It needs us to use more math when we design solutions instead of using computing resources when the problem runs. GAMS is a powerful optimization software. GAMS could do calculation and generate equations in seconds. By using CPLEX, we are able to reach solutions in seconds. In this project, we utilize GAMS feature (dynamic sets, mip, etc) and nearly solved a real problem.

Problem

College library optimization problem

We consider a simplified example of arranging the number of students who use the college library for studying.