Designing an assignment problem

Discussion in 'Java' started by Rob Braadworst, Apr 21, 2016.

  1. Rob Braadworst

    Rob Braadworst

    Joined:
    Apr 21, 2016
    Messages:
    1
    Likes Received:
    0
    Hi guys. I am fairly new to JAVA, but studied the last few months to have some basic understanding. In the following month I want to model an assignment problem with the following characteristics:
    - There is a set of employees that can work on tasks individually
    - There is a set of tasks, that enter the system throughout the day. Each task may only be executed by 1 person at a time. Furthermore, these tasks have certain time constraints (Task 1 arrives in system at 9:50, and needs to be assigned immediately. Duration of task depends on employee, but for everyone is close to 20 minutes).
    - Assignment of an task ALWAYS is always triggered immediately after arriving in system. This means that if 100 tasks enter the system on a given day, the assignment algorithm should be activated at least 100 times that day (exactly 100 if there is always an employee available, more than 100 if this is not always the case). A failed assignment may take place later on (no employee available).

    I want to design this in JAVA, but before I just start coding, I would like to have a good method to tackle this problem.
    Important to consider is that there is no scheduling component in the assignment algorithm. By this I mean that task information is not known until arrival in the system. They need to be scheduled immediately after arrival.

    Can you give me hints and tips to design this problem? Or maybe even examples of algorithm that basically do the same thing? I especially wonder how I am able to tackle the time-aspect. Would it make sense to "simulate" the day by looping through a whole day (simulate every minute).
    Hope you guys can help me!
     
    Rob Braadworst, Apr 21, 2016
    #1
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.