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

Landscape Configuration #79

Merged
merged 192 commits into from
Apr 27, 2024
Merged

Landscape Configuration #79

merged 192 commits into from
Apr 27, 2024

Conversation

vanoha
Copy link
Contributor

@vanoha vanoha commented Feb 5, 2024

Added LandscapeConfiguration - structure that could response on request about environment (the environment remains static over time), and LandGraph, that describes a graph of environment:

  • vertices - platforms, resource holders
  • edges - roads with own weight (length) and bandwidth

Developed algorithm of unrenewable resource delivery before the start of a work.
SupplyTimeline was developed to take into account the resources' of:

  • holders: materials (there is no way to make up for them), vehicles (renewable resources, because they could leave their holder and come back after delivery),
  • roads: vehicles (this is represents of road bandwidth, it is renewable resource)

PlatformTimeline is presented to avoid implementation difficult platforms' behaviour. The state of platform, that distributed over the time, has follow rules:

  • timestamp has resources that are left AFTER the work, that started at the time, obtain necessary materials,
  • the work can be scheduled at the timestamp A if ALL timestamps after 'A' can provide necessary materials (not other way).

Moreover, SimpleSynthetic was extended by LandscapeConfiguration generator based on obtained WorkGraph.

In addition, tests include flag about MaterialReq generation for each GraphNode in WorkGraph.

PlatformTimeline is the beginning of separation SupplyTimeline into individual timelines to consider the complex behaviour of each participant in evironment (holders, roads, vehicles, platforms).

Added examples that demonstrate the work with landscape generator and without it.

- Now we are searching resources in depots
- Now all the information of material delivery is recorded in resulting schedule
- Refactoring
// TODO Fix writing down material planning info to the result
- Now we are searching resources in depots
- Now all the information of material delivery is recorded in resulting schedule
- Refactoring
// TODO Fix writing down material planning info to the result
…trial-AI-Research-Lab/sampo into feature/landscape_geometry

# Conflicts:
#	sampo/scheduler/base.py
#	sampo/scheduler/heft/base.py
#	sampo/schemas/resources.py
#	sampo/schemas/works.py
- Now we are searching resources in depots
- Now all the information of material delivery is recorded in resulting schedule
- Refactoring
// TODO Fix writing down material planning info to the result
vanoha01 and others added 25 commits March 12, 2024 10:49
…fting after found this time and before scheduling.
… changing start_time in scheduling part (after start time was found)
… feature/landscape_geometry

# Conflicts:
#	pyproject.toml
#	sampo/generator/environment/landscape.py
@vanoha vanoha closed this Mar 25, 2024
@vanoha vanoha reopened this Mar 25, 2024
Copy link
Collaborator

@StannisMod StannisMod left a comment

Choose a reason for hiding this comment

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

Approved

@vanoha vanoha merged commit dc365c7 into main Apr 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request examples refactor The rewriting of existing code to improve code quality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants