{"action":"created","issue":{"url":"https://api.github.com/repos/jsprit/jsprit/issues/160","labels_url":"https://api.github.com/repos/jsprit/jsprit/issues/160/labels{/name}","comments_url":"https://api.github.com/repos/jsprit/jsprit/issues/160/comments","events_url":"https://api.github.com/repos/jsprit/jsprit/issues/160/events","html_url":"https://github.com/jsprit/jsprit/issues/160","id":78066360,"number":160,"title":"Question on business case","user":{"login":"demonicmetalcs","id":11269977,"avatar_url":"https://avatars.githubusercontent.com/u/11269977?v=3","gravatar_id":"","url":"https://api.github.com/users/demonicmetalcs","html_url":"https://github.com/demonicmetalcs","followers_url":"https://api.github.com/users/demonicmetalcs/followers","following_url":"https://api.github.com/users/demonicmetalcs/following{/other_user}","gists_url":"https://api.github.com/users/demonicmetalcs/gists{/gist_id}","starred_url":"https://api.github.com/users/demonicmetalcs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/demonicmetalcs/subscriptions","organizations_url":"https://api.github.com/users/demonicmetalcs/orgs","repos_url":"https://api.github.com/users/demonicmetalcs/repos","events_url":"https://api.github.com/users/demonicmetalcs/events{/privacy}","received_events_url":"https://api.github.com/users/demonicmetalcs/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":24,"created_at":"2015-05-19T12:24:37Z","updated_at":"2015-05-20T09:24:55Z","closed_at":null,"body":"Good afternoon,\r\n \r\nWe have a business case which we are trying to adapt JSprit for and so far we're very impressed with the results. We have a scenario though which seems very inefficient and I was wondering if you have a solution or a different way of handling this.\r\n \r\nThe goal is to schedule jobs for a longer period of time. For example we have 60 mechanics and 2500 orders they have to get through in a month. What we do right now is do the calculations for 1 day, take away the scheduled orders from the batch and do another calculation for the next day etc. etc. till we have scheduled a full month.\r\n \r\nThe issue here being that we basically do 2000 iterations for every day in the selection. This also means that we would never be able to schedule out a full year for example, because of the time it takes with big selections. (30000 jobs for 4 mechanics already took us 40ish seconds per iteration). \r\n \r\nTo put it a bit more concrete, we would like the ability to schedule in routes over a longer period of time taking into account obviously that a mechanic does not work 24 hours a day. Our current approach is as mentioned, we calculate a new route for every day removing the ones we already scheduled. Is this the right approach? \r\n \r\nThank you very much for your help, I am looking forward to your input. \r\n \r\nKind regards, \r\n \r\nConnor."},"comment":{"url":"https://api.github.com/repos/jsprit/jsprit/issues/comments/103821642","html_url":"https://github.com/jsprit/jsprit/issues/160#issuecomment-103821642","issue_url":"https://api.github.com/repos/jsprit/jsprit/issues/160","id":103821642,"user":{"login":"PGWelch","id":5254312,"avatar_url":"https://avatars.githubusercontent.com/u/5254312?v=3","gravatar_id":"","url":"https://api.github.com/users/PGWelch","html_url":"https://github.com/PGWelch","followers_url":"https://api.github.com/users/PGWelch/followers","following_url":"https://api.github.com/users/PGWelch/following{/other_user}","gists_url":"https://api.github.com/users/PGWelch/gists{/gist_id}","starred_url":"https://api.github.com/users/PGWelch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PGWelch/subscriptions","organizations_url":"https://api.github.com/users/PGWelch/orgs","repos_url":"https://api.github.com/users/PGWelch/repos","events_url":"https://api.github.com/users/PGWelch/events{/privacy}","received_events_url":"https://api.github.com/users/PGWelch/received_events","type":"User","site_admin":false},"created_at":"2015-05-20T09:24:55Z","updated_at":"2015-05-20T09:24:55Z","body":"Hi Connor,The point about #148 is that you would use it to model your order that could be done on multiple days with different time windows on the days, but done once only. To the best of my knowledge, you wouldn't be able to optimise this effectively in the current jsprit.\n\t\t\n        Best regards, Phil \n\t\t\n\t\t ---- On Wed, 20 May 2015 08:08:08 +0100  notifications@github.com  wrote ----It is not related to #148.\nWe have an order that can be done  on \nmonday 8:00 to 17:00\ntuesday 8:00 to 17:00\nFriday 12:00 to 17:00\nbut has to be done only once. this is for example the openings times of the location\nbut we also have an order that has to be done before say 25-5-2015 17:00\nand we have orders that have no time constraint at all.\nThan we have the mechanics \nmonday 8:00 to 17:00\ntuesday 8:00 to 17:00\nwednesday 8:00 to 12:00\netc.\nWhat we do right now is do the calculations for 1 day, take away the scheduled orders from the batch and do another calculation for the next day etc. etc. till we have scheduled a full month.\nthis method takes up long time and gives the best results at the start of the month and gets\nworse at the end.\nso what we want to do is do this in one calculation.\nthe mechanics we can do by implementing multiple vehicles.\nthe orders with no time constrain can just be added and the order with an done before can be added with an regular time window.\nbut the problem is with the once that have opening times of the location\n—Reply to this email directly or view it on GitHub."}}