1
0
Fork 0
mirror of https://github.com/graphhopper/jsprit.git synced 2020-01-24 07:45:05 +01:00

Merge remote-tracking branch 'origin/master'

This commit is contained in:
oblonski 2014-09-05 16:41:38 +02:00
commit bd59d9478c
2 changed files with 31 additions and 0 deletions

View file

@ -10,6 +10,8 @@ Change-log
- countless improvements of javadocs - countless improvements of javadocs
<em>jsprit-core</em> <em>jsprit-core</em>
- renaming of core.problem.constraint.HardActivityStateLevelConstraint into HardActivityConstraint
- renaming of core.problem.constraint.HardRouteStateLevelConstraint into HardRouteConstraint
- StateFactory.createId(String name) moved to core.algorithm.state.StateManager.createStateId(String name) - StateFactory.createId(String name) moved to core.algorithm.state.StateManager.createStateId(String name)
- StateFactory moved from core.problem.solution.route.state.StateFactory to core.algorithm.state.InternalStates - StateFactory moved from core.problem.solution.route.state.StateFactory to core.algorithm.state.InternalStates
- StateId moved from core.problem.route.state.StateFactory.StateId to core.algorithm.state.StateId - StateId moved from core.problem.route.state.StateFactory.StateId to core.algorithm.state.StateId
@ -18,12 +20,15 @@ Change-log
- StateManager.addDefault... methods do not exists anymore. Client must now decide what to do when state does not exist. - StateManager.addDefault... methods do not exists anymore. Client must now decide what to do when state does not exist.
- deprecated core.problem.VehicleRoutingProblem.Builder.addVehicle(Vehicle v) and added core.problem.VehicleRoutingProblem.Builder.addVehicle(AbstractVehicle v) - deprecated core.problem.VehicleRoutingProblem.Builder.addVehicle(Vehicle v) and added core.problem.VehicleRoutingProblem.Builder.addVehicle(AbstractVehicle v)
- deprecated core.problem.VehicleRoutingProblem.Builder.addJob(Job j) and added core.problem.VehicleRoutingProblem.Builder.addJob(AbstractJob j) - deprecated core.problem.VehicleRoutingProblem.Builder.addJob(Job j) and added core.problem.VehicleRoutingProblem.Builder.addJob(AbstractJob j)
- <b>this [example](https://github.com/jsprit/jsprit/blob/master/jsprit-examples/src/main/java/jsprit/examples/MultipleProductsWithLoadConstraintExample.java) might make migrating from v1.3.1 to v1.4 easier (since both versions are implemented - v1.3.1 was commented out) </b>
- bugfix [#107](https://github.com/jsprit/jsprit/issues/107) - bugfix [#107](https://github.com/jsprit/jsprit/issues/107)
- bugfix [#109](https://github.com/jsprit/jsprit/issues/109) - bugfix [#109](https://github.com/jsprit/jsprit/issues/109)
- bugfix [#111](https://github.com/jsprit/jsprit/issues/111) - bugfix [#111](https://github.com/jsprit/jsprit/issues/111)
- bugfix [#112](https://github.com/jsprit/jsprit/issues/112) - bugfix [#112](https://github.com/jsprit/jsprit/issues/112)
- bugfix [#114](https://github.com/jsprit/jsprit/issues/114) - bugfix [#114](https://github.com/jsprit/jsprit/issues/114)
- bugfix [#126](https://github.com/jsprit/jsprit/issues/126)
- bugfix [#128](https://github.com/jsprit/jsprit/issues/128)
**v1.3.1** @ 2014-06-14 **v1.3.1** @ 2014-06-14

View file

@ -5,6 +5,8 @@ WHATS NEW
<b>2014-09-?</b> new release **v1.4.0** <b>2014-09-?</b> new release **v1.4.0**
v1.4 breaks your code! Look at [changelog](https://github.com/jsprit/jsprit/blob/master/CHANGELOG.md) to migrate from v1.3.1 to v1.4.
<b> SKILLS </b> <b> SKILLS </b>
Skills can now be included easily (see for example https://github.com/jsprit/jsprit/blob/master/jsprit-examples/src/main/java/jsprit/examples/SolomonWithSkillsExample.java). Skills can now be included easily (see for example https://github.com/jsprit/jsprit/blob/master/jsprit-examples/src/main/java/jsprit/examples/SolomonWithSkillsExample.java).
@ -56,6 +58,30 @@ This, however, easily enables you to define objective functions that maximizes p
<b>Thus, if you already use your own custom objective function, you need to manually adapt it and add penalties for unassigned jobs.</b> <b>Thus, if you already use your own custom objective function, you need to manually adapt it and add penalties for unassigned jobs.</b>
<b> LIFO and FIFO CONSTRAINTS </b>
You can now retrieve additional information about related activities from JobInsertionContext (see https://github.com/jsprit/jsprit/issues/127).
If one deals with shipments then two activities will be inserted: pickupShipment and deliverShipment.
If you implement core.problem.constraint.SoftActivityContraint and core.problem.constraint.HardActivityStateLevelConstraint and thus
<code>public double getCosts(JobInsertionContext iFacts, TourActivity prevAct, TourActivity newAct, TourActivity nextAct, double prevActDepTime);</code>
and
<code>public ConstraintsStatus fulfilled(JobInsertionContext iFacts, TourActivity prevAct, TourActivity newAct, TourActivity nextAct, double prevActDepTime);</code>
you can now retrieve additional information from iFacts. If newAct is "deliverShipment" then
<code>iFacts.getRelatedActivityContext();</code>
provides arrivalTime, endTime and potentialInsertionIndex of the related "pickupShipment" (see javadoc of ActivityContext).
This allows you to easily implement LIFO and FIFO constraints (since you now know where the pickup activity will be inserted).
------------------------------ ------------------------------
<b>2014-08-20</b> jsprit has a mailing list (https://groups.google.com/group/jsprit-mailing-list) <b>2014-08-20</b> jsprit has a mailing list (https://groups.google.com/group/jsprit-mailing-list)