upgrade
This commit is contained in:
@@ -93,7 +93,7 @@ class RotaBuilder(object):
|
||||
ltft_balance_offset=4,
|
||||
max_night_frequency=2,
|
||||
max_weekend_frequency=2,
|
||||
use_previous_shifts=True,
|
||||
use_previous_shifts=False,
|
||||
):
|
||||
|
||||
print("Start time: {}".format(datetime.datetime.now()))
|
||||
@@ -120,6 +120,7 @@ class RotaBuilder(object):
|
||||
self.rota_days_length)
|
||||
|
||||
self.unavailable_to_work = set()
|
||||
self.unavailable_to_work_reason = {}
|
||||
self.pref_not_to_work = {}
|
||||
self.work_requests = set()
|
||||
self.work_requests_map = {}
|
||||
@@ -138,7 +139,7 @@ class RotaBuilder(object):
|
||||
self.max_weekend_frequency = max_weekend_frequency
|
||||
|
||||
self.constraint_options = {
|
||||
"limit_to_1_st1_on_nights": True,
|
||||
"limit_to_1_st2_on_nights": True,
|
||||
"ensure_1_st4_plus_on_nights": True,
|
||||
"ensure_derriford_reg_for_nights": True,
|
||||
"balance_nights": True,
|
||||
@@ -452,7 +453,7 @@ class RotaBuilder(object):
|
||||
workers_required,
|
||||
site_required,
|
||||
) in self.get_required_workers_and_site_combinations():
|
||||
# print(week, day, shift, self.workers_required, site_required)
|
||||
print(week, day, shift, workers_required, site_required)
|
||||
self.model.constraints.add(workers_required == sum(
|
||||
self.model.works[worker.id, week, day, shift]
|
||||
for worker in self.workers if worker.site in site_required))
|
||||
@@ -511,7 +512,7 @@ class RotaBuilder(object):
|
||||
return sum(model.shift_week_worker_assigned[shift, week, w.id]
|
||||
for w in single_workers) <= 1
|
||||
|
||||
if self.constraint_options["limit_to_1_st1_on_nights"]:
|
||||
if self.constraint_options["limit_to_1_st2_on_nights"]:
|
||||
self.model.night_shifts_max_st_constraint = Constraint(
|
||||
[week for week in self.weeks],
|
||||
[
|
||||
@@ -1423,6 +1424,7 @@ class RotaBuilder(object):
|
||||
|
||||
w = defaultdict(list)
|
||||
for worker in self.workers:
|
||||
print(worker)
|
||||
w[worker.site].append(worker)
|
||||
|
||||
l = []
|
||||
|
||||
Reference in New Issue
Block a user