GithubHelp home page GithubHelp logo

inventorymanagement's Introduction

InventoryManagement

In this project a Decision Optimization (DO) is used to improve the inventory management of protective masks in a network of warehouses and agencies.

Alt text

Input tables

To perform the DO experiment we use these input data tables:

  • Mask : each type of mask as an id, and a unit weight (used for computing transportation costs).

    Note: For simplicity only one type of mask (FFP2) is considered here.

  • Period : The inventory is managed for a planning horizon corresponding to a set of periods

  • Agency : Masks are distributed by agencies. Agencies receive masks from warehouses.

  • AgencyRequest : for each period, an agency forecasts the demand for masks and defines the target inventory expected at the end of the period

  • AgencyInitialInventory : each agency defines its initial inventory at the start of the first period

  • Warehouse : Main inventory of masks is managed at some warehouses. A warehouse receives masks from factories and provides masks to agencies.

  • WarehouseTargetInventory : for each period, a warehouse specifies the target inventory expected at the end of the period

  • WarehouseInitialInventory : each warehouse defines its initial inventory at the start of the first period

  • Factory : Masks are delivered to warehouses by factories

  • FactoryOffer : For each period, a factory defines its capacity of mask delivery and the unit price of these masks

  • FactoryWarehouseTransportCost : This table defines the unit cost to transport masks between each factory and each warehouse. In order to avoid too small deliveries, it also define a minimum cost of transportation.

  • PlanParameters : It collects useful global settings for planning, as the first and the last period

DO experiment

The project contains a DO experiment named InventoryOptimization with 3 scenarios. In this project, all scenarios share the same intent, that is a high level prescriptive rule specifying the main decisions we want to take.

Decide inventory of Masks at Warehouses and Agencies on each Periods and decide orders to Factories.

Each scenario is defined by a set of prescriptive rules - objectives and constraints - , some settings and a data schema defining data structure and also semantic logic derived from the rules.

Prescriptive rules prefixed by (Implicit rule) are rules that are automatically added as required by other rules. They cannot be removed or disabled directly, e.g. :

(Implicit rule) No Masks lost in inventory at Warehouse

Scenarios

Base scenario - no cost

Defines general prescriptive rules aka objectives and constraints without taking into account costs

With costs - no min transport

Created from Base scenario - no cost, this scenario adds some cost objective and constraints

With costs and min transport

Created from With costs and min transport, this scenario adds minimum cost for transportation, limiting small deliveries

Solutions

Each scenario has already been solved. The solutions can be seen as a set of tables in the Explore solution section and with visual charts in Vizualization section.

Do more

Create new scenarios from an existing one to capture additional constraints and objectives with the Modeling Assistant or to play with the weight of each objective.

As an OR expert you can also export the Python Notebook associated to a scenario and extends it, should you want to test some advanced constraints, objectives or solving strategies.

inventorymanagement's People

Contributors

nerav-doshi avatar

Watchers

 avatar

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.