Video není dostupné.
Omlouváme se.

Auto Shift Planner - Free Open Source app for Employee Roster Scheduling

Sdílet
Vložit
  • čas přidán 25. 07. 2024
  • Project Home and Download at:
    betaiotazeta.github.io/AutoSh...
    Presentation:
    Auto Shift Planner is a free and user-friendly application that can design and automatically generate highly detailed employee shift schedules based on rules and preferences.
    Auto Shift Planner has an unique feature: it can design and automatically make a detailed schedule (roster) while using heuristic and metaheuristic algorithms. A shift is fine tuned with half hour time units instead as just morning shifts or night shifts. This feature allows the application to manage situations where traditional planners fail because it is just impossible to define exactly the desired scenario, for example retail shops with continuous hours with strict staff regulation. Precise rules and preferences can also be defined as constraints and the application will automatically generate a schedule accordingly.
    The application is not a general purpose factotum planner.
    It is a detailed rule based schedule generator.
    Main Features:
    - easy to use
    - simple and intuitive user interface
    - be productive immediately
    - automated planning
    - available rules (constraints)
    - respect the opening and closing time
    - do the required number of hours per week
    - do not exceed the expected daily hours
    - do not exceed the number of shifts per day
    - have some eventual breaks of the desired break duration
    - minimum and maximum quantity of consecutive hours
    - minimum amount of employees present at the same time
    - minimum amount of hours for overnight rest
    - all mandatory shifts must be satisfied
    - not too much or not enough staff present
    - no installation needed
    - portable, easy and clean
    - for Linux, Mac and Windows
    - free and open source
    - no malicious features
    - you can modify the application as you need
    AutoShiftPlanner uses Optaplanner and it's dependencies.
    Released under: Gnu Public License, version 3

Komentáře • 24

  • @betazeta2152
    @betazeta2152  Před 4 lety

    If you know an application (for end users, not programmers) that can automatically solve the question proposed in this video (at 3:17), could you please name it in a comment? The solution found must be valid so that it is possible to compare the score. Have no restraint to mention other products, in any case I do not earn anything. I have searched for it but I can't find any app like this, thanks.

  • @dinorover
    @dinorover Před 4 lety +2

    Wow! Never knew that Optimus Prime also does freelance Voice Over work :)

    • @betazeta2152
      @betazeta2152  Před 4 lety +1

      And instead I was worried about my humble composition for background music being too unconventional for CZcams! :) Thanks for stopping by and for your comment, Bebaak!

  • @lionelmoulis5801
    @lionelmoulis5801 Před 2 lety +1

    Hello! Thanks for this amazing work and for putting it out there for free, big respect!
    I'm helping my girlfriend with her restaurant opening and this tool looks very helpful! In restauraation businesses, the needed amount of workers change depending on the hour of the day. Does your app allows to select at which hours you would need 2 employees, at which hours you would need only 1, etc..?

    • @betazeta2152
      @betazeta2152  Před 2 lety

      Hi Lionel! At the moment you cannot do what you are looking for via the graphical interface: you would need to implement that in code. I'm planning to update this app in due time: thanks for giving advice on what features should be added!

  • @toremixandbeyond1498
    @toremixandbeyond1498 Před 4 lety +1

    I need to develop a rostering algorithm for air traffic controllers. Not sure how to start and what algorithm to use. Any help or guidance with this?

    • @betazeta2152
      @betazeta2152  Před 4 lety

      Hi! Assuming that you are familiar with Java: take a look at Optaplanner's User Guide, chapter Design patterns.
      As a general rule: your domain model (the way you organize classes) and moves are way more significant than the "search algorithm" (Hill climbing, Tabu search, Late acceptance, Genetic algorithms, you name it) itself.

  • @flossyt4985
    @flossyt4985 Před rokem

    Do you have the python code for this app by any chance? I would like to see how the code is constructed for the app.

  • @baza3a
    @baza3a Před 4 lety +2

    man, your tool kicka**, the best so far, i have been searching for Rostering tools and only your has the capability of AUTO rostering.... quick question, from what i can see, what is the possibility of UN-intended double shift ? for example i set employees to have 1 shift per day but the tool give me for an employee the last shift of the day and the first shift of the next day ! does the tool have the ability to make sure employees dont have accidental double shift (last shift and next day's first shift) ?...... im really excited to seethe enhancement done during the last year XD

    • @betazeta2152
      @betazeta2152  Před 4 lety +2

      Thanks bazar3a, very kind of you. I'm aware that most likely the app does not exactly match your needs but at least now you know that something like this is doable and you can make better judgement of what you really want. In the meantime, what you are looking for is the "minimum overnight rest" value on the first page where you set constraints. It is the minimum amount of hours between shifts intended to be used between two consecutive days. For example, if this value is set to 17, the employee who finishes his work shift at 8 pm should not resume service before 1 pm the next day. You can think as: from 8 pm to midnight we have 4 hours. From midnight we want another 13 hours, so 17 hours in total. Take a look at the usage page here: betaiotazeta.github.io/AutoShiftPlanner/usage.html

    • @baza3a
      @baza3a Před 4 lety +1

      @@betazeta2152 thank you for the explanation and the usage page👍 very interesting, I really believe your program can be popular with some few tweaks and advertising it 👏👏 i really want to give you some note as a user, where so I drop them ? Here in comments or github ?

    • @betazeta2152
      @betazeta2152  Před 4 lety +1

      @@baza3a You are indeed very kind, I think you already did that in your previous comment, writing programs nowadays, especially when free and open source, is a lonely and poorly appreciated activity, so again, thank you. For this kind of problems it is difficult to write a generic app that will suit many scenarios. The whole business is to write specific code for specific needs. One specific user need can change the whole concept an therefore the code. My was an attempt to write something that can generalize (to a certain degree) so it can be useful (or at least serve as a prove of concept) for many end users.

  • @JowanQupty
    @JowanQupty Před 4 lety +1

    How straight forward would it be to change the units to days, and alter the constraints? (i.e all days must be filled)

    • @betazeta2152
      @betazeta2152  Před 4 lety

      Hi Jowan! Saying if something is straight forward or not is relative. You need basic but solid understanding of Java and Optaplanner. Given these bases it is not particularly difficult, especially if you do not care about the graphics and if you do not need the program to be configurable by users who are not programmers. It also depends a lot on your specific subjective needs: what constraints you need and how you are allowed to set up the problem (design pattern). For example, my app could be much simpler and faster if I only took away just one constraint. I have rewritten all the constraints of this program using the Drools language: it works in multithreading, it is much more readable, in theory it should be several times faster and instead it is not. I know where the problem lies, sooner or later I will find the time to redo the benchmarks. You wouldn't believe me if I told you how much effort it took me to write this app which is relatively simple.

  • @chingrou8340
    @chingrou8340 Před 2 lety +1

    hi how to run on mac?

    • @betazeta2152
      @betazeta2152  Před 2 lety

      Hi Ching Rou! Tested on Mojave with Java 11:
      1) You need to have Java pre-installed which you can find here: adoptopenjdk.net/
      2) Choose Java 11 LTS
      3) Download and install Java 11
      4) Go to the Home page of the app
      5) Click “download application” (at the top of the home page)
      6) Download the latest file named: AutoShiftPlanner-X.X.X-jar-with-dependencies.jar (e.g. AutoShiftPlanner-0.2.0-jar-with-dependencies.jar)
      7) Open the Finder, Locate the app (it will be in your downloads folder), Ctrl-click or right-click on the app and select Open

  • @hospitalnz9878
    @hospitalnz9878 Před rokem +1

    Can I schedule over 24hrs?

    • @betazeta2152
      @betazeta2152  Před rokem

      Hi! At the moment in this app a shift lasts a maximum of 24 hours and is contained within a single day. This is because it was developed primarily for shops. It is certainly doable with a "slight" modification of the source code. Thanks for asking!

    • @hospitalnz9878
      @hospitalnz9878 Před rokem +1

      @@betazeta2152 Thanks for replying, I'm guessing it could also be extended from one week to 6 weeks by "slight" modification of the source code?

    • @betazeta2152
      @betazeta2152  Před rokem

      @@hospitalnz9878 You can definitely do long-term planning. At this point you will probably need a custom domain model to speed up solving. It's impossible to build an end-user app that fits all cases, much less with a user interface. If you know Java and have time to study "the art of planning" I can recommend the Optaplanner's manual. It is well written, however it is huge and requires a non-trivial effort to grasp: docs.optaplanner.org/latestFinal/optaplanner-docs/html_single/#repeatedPlanning

  • @shresthpal8343
    @shresthpal8343 Před 4 lety +1

    how to run

    • @betazeta2152
      @betazeta2152  Před 4 lety

      For Windows, the easy way: 1) Just below this video open the description section and follow the link to the Project Homepage. 2) Click “Download Application” (at the top of the page or "View the Project on GitHub" and then click "Releases"). 3) Download the latest file named: AutoShiftPlanner-x.x.x_windows_installer.exe (e.g. AutoShiftPlanner-0.2.0_windows_installer.exe). 4) Double click the downloaded file to install the application. 5) Run the application from the "Start Menu".

    • @shresthpal8343
      @shresthpal8343 Před 4 lety

      How to run the code on an ide?? i have seen the application but want to see the code for learning purpose,and to work on that

    • @betazeta2152
      @betazeta2152  Před 4 lety

      GUI for this app was partially developed using Netbeans Swing Builder, so you would be able to edit the GUI graphically with Netbeans, but you can use any IDE for Java. There are many ways to compile this project, here is an easy one: 1) Go to "Project Homepage", then "View the Project on GitHub", click the green button "Clone or download", choose Zip file, save that file, unzip it in a folder. Keep in mind that this is a Maven project. Alternatively you can also clone the project with Git or read the repository directly from your IDE but let's not complicate things. 2) Install Java version 8 or higher. 3) Install Netbeans (or Eclipse, Idea). 4) From the IDE choose "Open new project", go to the previously unzipped folder, open the pom.xml file. 5) This should be enough, if not, install Maven and configure your IDE to use it (but this should not be necessary).