Code Monkey home page Code Monkey logo

production-scheduling's Introduction

Item production scheduling

In this repository, mathematical optimization is used for solving an item production scheduling problem.

Problem description

When manufacturing items on a machine, the machine may consume varying amounts of electricity per hour, depending on the item that is being produced. The idea is to utilize this variation when scheduling the production of items. For example, it may make sense to produce high-consuming items to hours where the electricity price is expected to be low.

Given a realized production schedule of a machine in the past, we assess whether cost savings could've been achieved, if the schedule had been optimized.

The following three-step approach is used for solving the problem:

  1. Generate electricity forecast for the future
  2. Solve the problem as an MILP (mixed integer linear programming)
  3. Compare results with realized schedule

Code & files

Input data

  • items.csv: Electricity consumption for each item per 4-hour production block
  • prices.csv: Realized hourly electricity prices from 1.1.2014 -
  • schedule.csv: Realized production schedule for time period 29.9.2016 - 11.10.2016

Python files

  • data_exploration.py: Plotting input data and results
  • data_utils.py: Data loading and preprocessing
  • forecast.py: Electricity price forecast model
  • optimization.py: Production scheduling optimization model
  • model.py: Running the entire model and plotting results

Results

The following results can be obtained by simply running model.py.

Realized schedule

Realized schedule

Theoretical optimum model (100% electricity price forecast accuracy)

Theoretical optimum

MedianForecaster model

The electricity price forecast: MedianForecaster electricity price

Results: MedianForecaster

The results show that cost savings can be achieved even by using optimization, and a simple model for electricity price forecast.

production-scheduling's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

production-scheduling's Issues

About Electricity Price Forecast

Hello jmyrberg!

I have a question on the purpose of building price forecast model. Since the unit price of power would be published by power company, and peak-valley electricity price's timeline is also known. Then, why we have to predict it since it could be calculated?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.