You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- first off, in irma.py, we need to take the maximum dependency time offset between actions instead of the one closest to zero, which simply makes logical sense
- the task_asset matrix that gets created first calculates the durations of each task-asset group assignment, and then divides them by the time_interval to be in units of periods, not hours
- also, we need to make sure that we are running action.calcDurationAndCost each time a task has a new asset group assigned to it, as task.calcDuration won't recalculate the action durations for a new asset group
- ALL NEW DEPENDENCY OFFSET MATRICES (at the bottom of Irma.py and implemented into the scheduler)
- - we store a dictionary of AxA matrices for each task pair (skipping the same tasks as pairs) initially full of -np.inf, but then populated with offsets depending on which asset group is assigned to each task
- - nothing new; it just calls findTaskDependencies for different task-asset group setups, while also saving them in units of periods instead of hours
- - we also extract the proper task_dependency and dependency_types from these matrices as well and default them to 'start_start' dependencies
- NEW code for calculating the total number of periods to include in the scheduler setup
- The scheduler has been adjusted to account for these new dependency-offset matrices
- - uses a simple _method to check the dependency offset input
- - then we slightly reformat the constraint creation for dependencies and include the proper for loops to reference the proper offset out of the input matrix
- - - for 'finish_start' and 'start_start' this calls for additional terms to the constraint equations that include the task-asset-group assignment as to ensure these correspond to the right offset (meaning, we can't just rely on constraining start times -- we need to include the assignments in order to determine the proper offsets)
- some new updates to the scheduler successful printing (and a return dictionary), and made sure the simple example could still run
- ALSO: UPDATES TO THE SCHEDULER_README AND THE SCHEDULER_TUTORIAL to reflect the new dependency-offset matrices, including more math and detailed explanations of what these constraints are doing
Other small file updates:
- action.py simple bug fixes for more realistic requirements and action durations
- - unit conversions, proper vessel speed, print statements, loading times, etc. - to get more accurate time durations
- 'winch' didn't seem to be used in the anchor_orienting requirement
- task.py time_interval naming
- deleted old task_asset_generator script since it's not being used and we should look at the whole code zoomed out before doing anything like that
- printing/displaying things in the Irma.py run code
0 commit comments