Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parallel SGS, zone fixes #55

Merged
merged 49 commits into from
Oct 28, 2023
Merged

Parallel SGS, zone fixes #55

merged 49 commits into from
Oct 28, 2023

Conversation

StannisMod
Copy link
Collaborator

Replaced Genetic's Serial SGS with Parallel SGS

  • added can_schedule_at_the_moment method to all timelines
  • updated ZoneTimeline with the ability to handle non-zero status change costs
  • added GeneralTimeline to handle abstract objects in time
  • added LinkedList data structure with iterators to handle remove-on-iteration operations

Parallel SGS is much more applicable to handle many constraints than Serial SGS because it depends on constraints checking method, not on find minimum satisfaction time.
In SAMPO we have renewable and non-renewable resources and zones, so it's true for us :)

Now we are ready to make pre-release version of zone planning
# Conflicts:
#	sampo/schemas/requirements.py
# Conflicts:
#	pyproject.toml
#	sampo/scheduler/timeline/zone_timeline.py
# Conflicts:
#	sampo/scheduler/genetic/operators.py
#	sampo/scheduler/genetic/schedule_builder.py
#	tests/scheduler/genetic/fixtures.py
# Conflicts:
#	sampo/scheduler/timeline/just_in_time_timeline.py
#	sampo/scheduler/timeline/momentum_timeline.py
…re/parallel_sgs

# Conflicts:
#	sampo/scheduler/timeline/zone_timeline.py
# Conflicts:
#	pyproject.toml
#	sampo/scheduler/generic.py
#	sampo/scheduler/genetic/converter.py
#	sampo/scheduler/genetic/operators.py
#	sampo/scheduler/timeline/just_in_time_timeline.py
#	sampo/scheduler/timeline/momentum_timeline.py
#	sampo/scheduler/timeline/zone_timeline.py
#	sampo/scheduler/utils/local_optimization.py
#	sampo/schemas/zones.py
#	tests/scheduler/genetic/converter_test.py
#	tests/scheduler/timeline/just_in_time_timeline_test.py
#	tests/scheduler/timeline/momentum_timeline_test.py
#	tests/scheduler/timeline/zone_timeline_test.py
@StannisMod StannisMod requested a review from vanoha October 20, 2023 15:52
@StannisMod StannisMod closed this Oct 23, 2023
@StannisMod StannisMod reopened this Oct 23, 2023
@StannisMod
Copy link
Collaborator Author

Parallel SGS leads performance issues in general situation (planning without zones).
It should be fixed before we can merge.

@StannisMod StannisMod added the enhancement New feature or request label Oct 23, 2023
# Conflicts:
#	sampo/scheduler/genetic/operators.py
#	sampo/scheduler/genetic/schedule_builder.py
#	tests/scheduler/genetic/converter_test.py
@StannisMod StannisMod closed this Oct 26, 2023
@StannisMod StannisMod reopened this Oct 26, 2023
@StannisMod StannisMod closed this Oct 27, 2023
@StannisMod StannisMod reopened this Oct 27, 2023
Copy link
Contributor

@vanoha vanoha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Request changes

sampo/scheduler/timeline/general_timeline.py Show resolved Hide resolved
sampo/scheduler/genetic/operators.py Show resolved Hide resolved
sampo/scheduler/genetic/operators.py Show resolved Hide resolved
sampo/scheduler/timeline/base.py Show resolved Hide resolved
@StannisMod StannisMod closed this Oct 27, 2023
@StannisMod StannisMod reopened this Oct 27, 2023
@StannisMod StannisMod requested a review from vanoha October 28, 2023 07:23
Copy link
Contributor

@vanoha vanoha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved

@StannisMod StannisMod merged commit d0fe329 into main Oct 28, 2023
1 check passed
@StannisMod StannisMod deleted the feature/parallel_sgs branch January 23, 2024 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants