sampo.pipeline.default#

Overview#

Classes#

DefaultInputPipeline

Default pipeline, that help to use the framework

DefaultSchedulePipeline

The part of pipeline, that manipulates with the whole entire schedule.

Classes#

class sampo.pipeline.default.DefaultInputPipeline#

Bases: sampo.pipeline.base.InputPipeline

Default pipeline, that help to use the framework

wg(wg: sampo.schemas.graph.WorkGraph | pandas.DataFrame | str, is_wg_has_full_info_about_connections: bool = False, change_base_on_history: bool = False) sampo.pipeline.base.InputPipeline#

Mandatory argument.

Parameters:
  • change_base_on_history – whether it is necessary to change project information based on connection history data

  • is_wg_has_full_info_about_connections – does the project information contain full details of the works

  • wg – the WorkGraph object for scheduling task

Returns:

the pipeline object

contractors(contractors: list[sampo.schemas.contractor.Contractor] | pandas.DataFrame | str) sampo.pipeline.base.InputPipeline#

Mandatory argument.

Parameters:

contractors – the contractors list for scheduling task

Returns:

the pipeline object

landscape(landscape_config: sampo.schemas.landscape.LandscapeConfiguration) sampo.pipeline.base.InputPipeline#

Set landscape configuration

Parameters:

landscape_config

Returns:

name_mapper(name_mapper: sampo.utilities.task_name.NameMapper) sampo.pipeline.base.InputPipeline#

Set works’ name mapper :param name_mapper: :return:

history(history: pandas.DataFrame | str) sampo.pipeline.base.InputPipeline#

Set historical data. Mandatory method, if work graph hasn’t info about links :param history: :return:

spec(spec: sampo.schemas.schedule_spec.ScheduleSpec) sampo.pipeline.base.InputPipeline#

Set specification of schedule

Parameters:

spec

Returns:

time_shift(time: sampo.schemas.time.Time) sampo.pipeline.base.InputPipeline#

If the schedule should start at a certain time

Parameters:

time

Returns:

lag_optimize(lag_optimize: sampo.pipeline.lag_optimization.LagOptimizationStrategy) sampo.pipeline.base.InputPipeline#

Mandatory argument. Shows should graph be lag-optimized or not. If not defined, pipeline should search the best variant of this argument in result.

Parameters:

lag_optimize

Returns:

the pipeline object

work_estimator(work_estimator: sampo.schemas.time_estimator.WorkTimeEstimator) sampo.pipeline.base.InputPipeline#
node_order(node_order: list[sampo.schemas.graph.GraphNode]) sampo.pipeline.base.InputPipeline#
optimize_local(optimizer: sampo.scheduler.utils.local_optimization.OrderLocalOptimizer, area: range) sampo.pipeline.base.InputPipeline#
schedule(scheduler: sampo.scheduler.base.Scheduler) sampo.pipeline.base.SchedulePipeline#
static _check_is_contractors_can_perform_work_graph(contractors: list[sampo.schemas.contractor.Contractor], wg: sampo.schemas.graph.WorkGraph) bool#
class sampo.pipeline.default.DefaultSchedulePipeline(s_input: DefaultInputPipeline, wg: sampo.schemas.graph.WorkGraph, schedule: sampo.schemas.schedule.Schedule)#

Bases: sampo.pipeline.base.SchedulePipeline

The part of pipeline, that manipulates with the whole entire schedule.

optimize_local(optimizer: sampo.scheduler.utils.local_optimization.ScheduleLocalOptimizer, area: range) sampo.pipeline.base.SchedulePipeline#
finish() sampo.schemas.schedule.Schedule#