Skip to content

Feature/15 add time objective#155

Draft
kdemmich wants to merge 28 commits intomainfrom
feature/15-add-time-objective
Draft

Feature/15 add time objective#155
kdemmich wants to merge 28 commits intomainfrom
feature/15-add-time-objective

Conversation

@kdemmich
Copy link
Collaborator

@kdemmich kdemmich commented Mar 4, 2026

Related Issue / Discussion:

Please delete the option which is not relevant.

Fixes Issue #XX

Relates to discussion [link]

Changes:

Please list the central functionalities that have been changed:

  • New class / file / …
  • Modified class / file / …

Further Details:

Summary:

Please mention the relevant motivation and context of your changes and shortly describe the behaviour before and after your modifications.

Dependencies:

Please list new dependencies that are required for this modification.

PR Checklist:

In the context of this PR, I:

Please consider that PRs which do not meet the requirements specified in the checklist will not be evaluated. Also, PRs with no activities will be closed after a reasonable amount of time.

- add config variable GENETIC_OBJECTIVES
- add monitoring figure for objective space
Add a monitoring plot for the determination of composite weights for the
selection of a solution from the set of non-dominated solution in case
of multi-objective optimisation
Modify the code for the R-method s.t. the expansion towards an arbitray
number of objectives is simple. Add a monitoring plot for the function
for the determination of the composite weight. The function for the
determination of composite weight and the corresponding monitoring plot
will need slight adjustments for n_obj>2.
Add functionality to compare different WRT runs wrt. fuel consumption
and meeting the arrival-time constraint.
Change mean speed of standard deviation to original speed value at the
respective waypoint. Replace config variable  BOAT_SPEED_MAX by
BOAT_SPEED_BOUNDARIES which provide the minimum and maximum speed
values. Speed values lower than the minimum or higher than the
maximum are replaced by the respective boundaries.
According to pymoo, normalisation is not necessary here.
Prevent overwriting of parents by offspring.
Convert seconds to minutes to prevent large values of time objective.
Introduce minimal time difference.

Adjust container for storing objective values.
Generate convergence plots for all objectives. Visualise speed for
figures showing population per generation via color code of routes.
Introduce config settings 'rndm_speed' and 'rndm_waypoints' to turn on
mutation methods that only mutate the speed or the waypoints,
respectively. In case 'random' is activated, both mutations for speed
and waypoints are initiated for every generation.
Replace modifications of parents by those on deepcopied offspring.
Prevent overwriting of GENETIC_REPAIR_TYPE. Add unit test for
SpeedCrossover.
Remove if clauses that rely on BOAT_SPEED config variable default value
being -99. Fix missing PosixPath to str conversion in execute_routing.py
Modify Config.check_speed_determination to meet the run modes
- speed optimisation, fixed waypoints
- spead and waypoint optimisation
- waypoint optimisation, fixed speed
Add respective unit tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant