Coder Social home page Coder Social logo

nurse-rostering-solution's People

Contributors

antonio-ramadas avatar f0lha avatar guilhermevpinto avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

nurse-rostering-solution's Issues

S5 - Complete week-end (30)

Every nurse that has the complete weekend value set to true, must work both
week-end days or none. If she/he works only one of the two days Sat and Sun this is penalised by the
corresponding weight.

Create tests

May be informal (just display on terminal), but required to ensure a valid implementation.

S7 - Total working week-ends (30)

For each nurse the number of working weed-ends must be less than or equal to the maximum. The number of worked week-ends in excess is added to the objective function multiplied by the weight. A week-end is considered \working" if at least one of the two days (Sat and Sun) is busy for the nurse.

S1 - Insufficient staffng for optimal coverage (30)

The number of nurses for each shift for each skill must be equal to the optimal requirement. Each missing nurse is penalised according to the weight provided.
Extra nurses above the optimal value are not considered in the cost.

H2 - Under-staffing

The number of nurses for each shift for each skill must be at least equal to the minimum requirement.

H3 - Shift type successions:

The shift type assignments of one nurse in two consecutive days must belong to
the legal successions provided in the scenario.

S6 - Total assignments (20)

For each nurse the total number of assignments (working days) must be included
within the limits (minimum and maximum) enforced by her/his contract. The di�erence (in either
direction), multiplied by its weight, is added to the objective function.

Improve JSON handling

At this moment, JSON is passed by argument by value (not by reference) and without any kind of trim (it is not deleted unnecessary parts). As the number of JSON files is low and their length is short, this issue does not require our attention, for now.

Implement pre-processing

At this moment, the parser only stores IDs as references even though the objects of those IDs were already read. This enhancement has not been done, yet, due to constant restructuring of the project. It is strongly advisable to do this only after the parser is completed as it'll lead to more efficient coding.

S2 - Consecutive assignments (15/30)

Minimum and maximum number of consecutive assignments, per
shift or global, should be respected. Their evaluation involves also the border data. Each extra or missing
day is multiplied by the corresponding weight. The weights for consecutive shift constraint and for
consecutive working days are respectively 15 and 30.

Check project structure

The project structure needs a fresh new vision before starting the implementation of the algorithm. In case of any mistakes or improvements, they should be implemented.

Improve Data Structures

At this moment, the only thing being done is the parser. Therefore, it is too soon to know the best data structure to be applied (map, tree, ...). So, before or at the same time of the implementation of the algorithm, it is necessary to choose better data structures as the current data structure, vectors, won't probably be the best choice.

S3 - Consecutive days off (30)

Minimum and maximum number of consecutive days o� should be respected.
Their evaluation involves also the border data. Each extra or missing day is multiplied by the corresponding
weight.

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.