Change-log ========== **v1.4.0** ? in preparation ! Break change ! jsprit-core - 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 - StateId moved from core.problem.route.state.StateFactory.StateId to core.algorithm.state.StateId - StateFactory.createId(String name) is not accessible anymore - constructor new StateManager(VehicleRoutingTransportCosts costs) does not exist anymore, but is new StateManager(VehicleRoutingProblem vrp) - 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) **v1.3.1** @ 2014-06-14 jsprit-core - bugfix [#104](https://github.com/jsprit/jsprit/issues/104) - bugfix [#105](https://github.com/jsprit/jsprit/issues/105) **v1.3.0** @ 2014-05-19 - [detailed changelog](https://github.com/jsprit/misc-rep/raw/master/changelog_1.2.0_to_1.3.0.txt) - removed deprecated code (that had been deprecated before v1.2.0) which is definitely a break change (see details above) jsprit-analysis - redesigned analysis.toolbox.Plotter - it now always shows first activity as small triangle (no annotation that does not scale anymore) - added analysis.toolbox.ComputationalLaboratory to conduct various sensitivity studies concurrently - added analysis.toolbox.XYLineChartBuilder to simplify chart creation of n XYLines - bugfix [#59](https://github.com/jsprit/jsprit/issues/59) jsprit-core - added a number of unit- and integration-test to better guarantee/protect functionality - added feature: algorithm maximizes/minimizes whatever constraints and custom objective suggest, i.e.constraints and custom objective function can now be easily defined and considered by the meta-heuristic [#57](https://github.com/jsprit/jsprit/issues/57), [#72](https://github.com/jsprit/jsprit/issues/72) - added feature: initial loads can now be defined [#87](https://github.com/jsprit/jsprit/issues/87) - bugfix [#84](https://github.com/jsprit/jsprit/issues/84) - bugfix [#91](https://github.com/jsprit/jsprit/issues/91) - bugfix [#92](https://github.com/jsprit/jsprit/issues/92) - bugfix [#95](https://github.com/jsprit/jsprit/issues/95) - bugfix [#96](https://github.com/jsprit/jsprit/issues/96) - bugfix [#98](https://github.com/jsprit/jsprit/issues/98) **v1.2.0** @ 2014-03-06 - [detailed changelog](https://github.com/jsprit/misc-rep/raw/master/changelog_1.1.1_to_1.2.0.txt) (containing added and deprecated methods and classes) jsprit-core: - added feature: multiple capacity dimensions ([#55](https://github.com/jsprit/jsprit/issues/55)) - added feature: different start and end locations of routes ([#74](https://github.com/jsprit/jsprit/issues/74)) - added a number of unit-tests - reworked jsprit.core.algorithm.state.StateManager to deal with any state-object - jsprit.core.problem.io.VrpXMLReader$ServiceBuilderFactory: Parameter 3 of 'public jsprit.core.problem.job.Service$Builder createBuilder(java.lang.String, java.lang.String, int)' has changed its type to java.lang.Integer - jsprit.core.problem.job.Job: Method 'public jsprit.core.problem.Capacity getSize()' has been added to an interface [potential Break Change] - jsprit.core.problem.job.Service$Builder: Removed field demand - jsprit.core.problem.solution.route.activity.ServiceActivity: Removed field capacityDemand - jsprit.core.problem.solution.route.activity.TourActivity: Method 'public jsprit.core.problem.Capacity getSize()' has been added to an interface [potential Break Change] - jsprit.core.problem.solution.route.state.RouteAndActivityStateGetter: Method 'public java.lang.Object getActivityState(jsprit.core.problem.solution.route.activity.TourActivity, jsprit.core.algorithm.state.StateFactory$StateId, java.lang.Class)' has been added to an interface [potential Break Change] - jsprit.core.problem.solution.route.state.RouteAndActivityStateGetter: Method 'public java.lang.Object getRouteState(jsprit.core.problem.solution.route.VehicleRoute, jsprit.core.algorithm.state.StateFactory$StateId, java.lang.Class)' has been added to an interface [potential Break Change] - jsprit.core.problem.vehicle.Vehicle: Method 'public jsprit.core.util.Coordinate getEndLocationCoordinate()' has been added to an interface [potential Break Change] - jsprit.core.problem.vehicle.Vehicle: Method 'public java.lang.String getEndLocationId()' has been added to an interface [potential Break Change] - jsprit.core.problem.vehicle.Vehicle: Method 'public jsprit.core.util.Coordinate getStartLocationCoordinate()' has been added to an interface [potential Break Change] - jsprit.core.problem.vehicle.Vehicle: Method 'public java.lang.String getStartLocationId()' has been added to an interface [potential Break Change] - jsprit.core.problem.vehicle.VehicleFleetManager: Method 'public java.util.Collection getAvailableVehicles(jsprit.core.problem.vehicle.Vehicle)' has been added to an interface [potential Break Change] - jsprit.core.problem.vehicle.VehicleType: Method 'public jsprit.core.problem.Capacity getCapacityDimensions()' has been added to an interface [potential Break Change] - jsprit.core.util.VrpVerifier: Class jsprit.core.util.VrpVerifier removed [potential Break Change] **v1.1.1** @ 2014-01-31 jsprit-core: - fixed bug: [#80](https://github.com/jsprit/jsprit/issues/80) - added new package reporting with basic reporting **v1.1.0** @ 2014-01-27 - [detailed changelog](https://github.com/jsprit/misc-rep/raw/master/changelog_1.0.0_to_1.1.0.txt) jsprit-core: - added javadocs (VehicleRoutingProblem and classes in package vehicle. and job.) - added unit-tests (for classes in package vehicle., job. and io.) - deprecated methods in VehicleRoutingProblem, VehicleTypeImpl, VehicleImpl - added func in VehicleRoutingProblem.Builder (.addPenaltyVehicle(...) methods) - added feature: open-routes ([#54](https://github.com/jsprit/jsprit/issues/54)) - added func in VehicleImpl and VehicleImpl.Builder (.setReturnToDepot(...), isReturnToDepot()) - added feature: prohibit vehicles to take over entire route ([#70](https://github.com/jsprit/jsprit/issues/70)) - fixed bug: [#58](https://github.com/jsprit/jsprit/issues/58),[#76](https://github.com/jsprit/jsprit/issues/76)-[#79](https://github.com/jsprit/jsprit/issues/79) - added abstract class AbstractForwardVehicleRoutingCosts - inspected and removed all warnings - visibility of methods activity.Start.get/setCoordinate(...) decreased from public to package [potential Break Change] - visibility of methods activity.End.get/setCoordinate(...) decreased from public to package [potential Break Change] - method isReturnToDepot() has been added to interface Vehicle [potential Break Change] - visibility of constructor VehicleImpl.Builder decreased from public to private [potential Break Change] jsprit-analysis: - added GraphStreamViewer - inspected and removed all warnings jsprit-example: - added BicycleMessenger - enriched examples with GraphStreamViewer - inspected and removed all warnings jsprit-instance: - added VrphGoldenReader (plus instances to bechmark VRPH) - inspected and removed all warnings **v1.0.0** @ 2013-11-26 (break change) - re-organized API - new package names: jsprit.<module>.<folder(s)> - most of the breaks can be fixed by (re-)organizing imports - however the following breaks have to be fixed manually: - SolutionPrinter.print(solution, Print.VERBOSE) --> use .print(solution) instead - VehicleRoute: getCosts(), getCostCalculator() - TimeBreaker --> TimeTermination, VariationCoefficentBreaker --> ...Termination, Iteration...Breaker --> ...Termination - VehicleRoutingAlgorithm: setPrematureBreaker(...) --> setPrematureTermination(...) - util.Counter - [detailed changelog](https://github.com/jsprit/misc-rep/raw/master/changelog_0.0.5_to_1.0.0.txt) **v0.0.5** @ 2013-11-22 - more memory-efficient RadialRuin (issue #53) - bug fix (issue #51) **v0.0.4** @ 2013-10-17 - a number of internal improvements - license change from GPLv2 to LGPLv3 - add premature algorithm termination: PrematureAlgorithmBreaker.java and its implementations - searchStrategy.java: public SearchStrategy(SolutionSelector,SolutionAcceptor) --> public SearchStratgy(SolutionSelector,SolutionAcceptor,SolutionCostCalculator) - searchStrategy.java: public boolean run(...) --> public DiscoveredSolution run(...) - vehicleImpl.VehicleType.Builder --> VehicleTypeImpl.Builder - vehicleImpl.VehicleBuilder --> VehicleImpl.Builder **v0.0.3** @ 2013-06-04 - bug fix - access resources in jar **v0.0.2** @ 2013-06-03 - bug fix - access resources in jar **v0.0.1** @ 2013-06-02