Algorithm to generate schedule/calendar of inter-dependent activities (Python, Java, any language is ok)

Let me describe context of the problem:

We've several test-boxes (Server A, Server B, Server C, Server D). At any given time, one server is reserved for 'prod-fix'. That is, one server is exact replica of production server. While other three server are being used for testing.

We have projects targeting different release dates (may, june, july, august..). So, at the start of the year, we designate server for each release. For eg:

Server A will be used for prodfix may release, august release and december release

Server B will be used for july release, September release

and so on.

During a release cycle, the server has to go through several activities. At a high-level:

-. Env needs to be refreshed with latest code from production

- testing team needs to validate that env is setup correctly

- some db synch activities

- then we allow projects to start testing

- functional testing

- regression testing

- integration testing

and so on.

- finally, code is release to production

- right after production release, this server becomes 'prod-fix' because it has the latest code-base.

And the other server that was being used for production-support gets taken down, refreshed and readied for testing of another release and so on.

As you can imagine, we need to coordinate activities/schedule of each server and each release. So, currently we manually draw a calendar.

So, the task is to write a program/script:

that can take input of all the activities that need to be performed and then automatically generate a calendar.

For each activity, the user will specify:

1. activity name

2. Duration (business days and calendar days)

3. Order (should it occur before or after some other activity or can it happen in parallel?)

4. Day constraint (like it has to be done on a Monday of the week)

5. Also, a list of "holidays" (so holidays can be excluded from counting)

6. any specific date constraint for some activity (like this activity must be done on this date.. and accordingly rest of calendar would need to be adjusted).

7. Release Date (hard date when code from a particular release is released to production)

Based on this information, you'd draw up a calendar using all available servers (specified in admin) and generate a release calendar.

Calendar will show:

July release -> server A ->

mar 1 to mar 4: env refresh

mar 5 to mar 20: env validation

mar 21 to mar 25: deployment of test code

mar 26 to mar 30: functional testing

and so on...

Do you think you can help with this? I can share a sample calendar and explain more details over the phone.

*** I think the coding part is trivial; the work is more about thinking a proper (robust, smart, intelligent) algorithm utilizing so many constraints. ****

Skills: Algorithm, C++ Programming, Java, Machine Learning, Python

See more: python generate calendar, functional algorithm generate calendar, the algorithm is, test algorithm, smart input, program algorithm, problem algorithm, help with java code, explain algorithm, different algorithm, Coding in c language, algorithm testing, algorithm test, algorithm sample code, algorithm problem, algorithm of the day, algorithm input, algorithm help, algorithm coding, algorithm b, week schedule, python to java, d python, d algorithm, sample coding in java

About the Employer:
( 85 reviews ) Plano, Canada

Project ID: #4506773

Awarded to:


Hello, Chris. I'd be willing to take a look at any extra details you can give me, such as an example calendar, and see what I can come up with. Let's message each other before you accept my bid, though, so I have time More

$9 USD / hour
(15 Reviews)

10 freelancers are bidding on average $14/hour for this job


By having queuing and scheduling program and expert in python, we claim to be right fit this.

$15 USD / hour
(6 Reviews)

Hi We are interested in your project and read your [login to view URL] have completed 150+ big projects in last 5 years. Please check private message board for details.

$20 USD / hour
(4 Reviews)

I am interested int this project.

$16 USD / hour
(14 Reviews)

Very nice problem to solve. Like you said the algorithm is more important that the coding portion itself. Ready to start.

$22 USD / hour
(4 Reviews)

I can do it.

$12 USD / hour
(1 Review)

Dear Sir, See your private message for my Work plan.

$8 USD / hour
(0 Reviews)

I'm interested in this project since i have experience in AI and have done a similar project regarding Shipment Scheduling in the past. Lets have a chat before starting the project.

$15 USD / hour
(0 Reviews)

Being a Cisco veteran and now a PhD student I would like to have some fun and earn quick money. Let me be of your help.

$11 USD / hour
(0 Reviews)

Hi, I can do this. Please look into the private message for details. Regards, sghosh

$8 USD / hour
(0 Reviews)