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:
commit
247cb62d83
2 changed files with 4 additions and 16 deletions
|
|
@ -18,6 +18,8 @@ It is lightweight, flexible and easy-to-use, and based on a single all-purpose <
|
|||
Setting up the problem, defining additional constraints, modifying the algorithms and visualising the discovered solutions is as easy and handy as
|
||||
reading classical VRP instances to benchmark your algorithm. It is fit for change and extension due to a modular design and a comprehensive set of unit and integration-tests. [More features ...](https://github.com/jsprit/jsprit/wiki/features)
|
||||
|
||||
##[Whats New](https://github.com/jsprit/jsprit/blob/master/WHATS_NEW.md)
|
||||
|
||||
##Documentation
|
||||
|
||||
Please visit [jsprit-wiki](https://github.com/jsprit/jsprit/wiki) to learn more.
|
||||
|
|
|
|||
18
WHATS_NEW.md
18
WHATS_NEW.md
|
|
@ -49,26 +49,12 @@ A solution can now consists of assigned and unassigned jobs. There are various r
|
|||
demand exceeds available capacity, the job cannot be served within driver's operation time or the job is just too costly to
|
||||
serve it with your own fleet.
|
||||
|
||||
Note that jsprit uses "soft" approach to deal with unassigned jobs, i.e. each unassigned job will be penalyzed in the objective function
|
||||
Note that jsprit uses a "soft" approach to deal with unassigned jobs, i.e. each unassigned job will be penalyzed in the objective function
|
||||
(see default objective https://github.com/jsprit/jsprit/blob/master/jsprit-core/src/main/java/jsprit/core/algorithm/VariablePlusFixedSolutionCostCalculatorFactory.java [line 55]).
|
||||
If you omit penalyzing them, you probably end up with a solution consisting solely of unassigned jobs (the less the better in terms of total costs).
|
||||
This, however, easily enables you to define objective functions that maximizes profits.
|
||||
|
||||
Thus, if you already use your own custom objective function, you need to manually adapt it and add penalties for unassigned jobs.
|
||||
|
||||
<b> STATEMANAGER </b>
|
||||
|
||||
- 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)
|
||||
- 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.addJob(Job j) and added core.problem.VehicleRoutingProblem.Builder.addJob(AbstractJob j)
|
||||
|
||||
<b> LOGGER </b>
|
||||
- migrated from log4j1x to log4j2
|
||||
<b>Thus, if you already use your own custom objective function, you need to manually adapt it and add penalties for unassigned jobs.</b>
|
||||
|
||||
------------------------------
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue