GithubHelp home page GithubHelp logo

learntocode180 / car-sequencing-problem-solver Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 5 KB

Solving the Car Sequencing Problem with Choco Solver.

Java 100.00%
constraint-programming java choco-solver

car-sequencing-problem-solver's Introduction

Car-Sequencing-Problem

The car sequencing problem has been first described by Parello et al. in 1986 [PKW86]. This problem involves scheduling cars along an assembly line, in order to install options (e.g., sunroof, radio, or air-conditioning) on them. Each option is installed by a different station, designed to handle at most a certain percentage of the cars passing along the assembly line, and the cars requiring this option must be spaced such that the capacity of every station is never exceeded. This requirement may be formalized by p/q ratio constraints: each option is associated with a p/q ratio constraint that states that any subsequence of q vehicles may comprise at most p vehicles requiring this option.

Solution:

Variables:

We have two different variables,

  1. One dimensional array: [NumberOfCar] which contains the category type of each car (in our example, we have 12 category).
  2. Two demensional arrray: [Options*NumberOfCar] which tell us if an option exist on a car or not.

Domains:

  1. Each cell will contains a value between 1 and 12.
  2. Each cell will take 0 or 1 as value.

Constraints:

  1. The number of car of each category should be the same of the number of car we have with this category in our array.
  2. The number of options of each car should be the same of the number of options of its category (We will take the values from the array which we had initialised).
  3. This constraint is the very important one, it ensure that in each sequence of q[i] car which have the option i, we should have a maximum of p[i] car.

car-sequencing-problem-solver's People

Contributors

learntocode180 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.