فهرست مطالب
-
Break
(پیام) -
BreakRule
(پیام) -
BudgetRequirement
(پیام) -
CoverageRequirement
(پیام) -
CoverageRequirement.RoleRequirement
(پیام) -
CoverageRequirement.SkillRequirement
(پیام) -
DemandCoverageViolation
(پیام) -
Employee
(پیام) -
EmployeeDemand
(پیام) -
EmployeeSchedule
(پیام) -
EmployeeSchedule.ShiftWithEvents
(پیام) -
EmployeeSchedule.ShiftWithEvents.Event
(پیام) -
EventTemplate
(پیام) -
HourlyContract
(پیام) -
HourlyContract.OvertimePeriod
(پیام) -
Priority
(تعدادی) -
ResourceConstraint
(پیام) -
SchedulingConstraint
(پیام) -
Shift
(پیام) -
ShiftAssignment
(پیام) -
ShiftGenerationSolutionStatus
(enum) -
ShiftPreference
(پیام) -
ShiftRequest
(پیام) -
ShiftTemplate
(پیام) -
SolutionStatus
(enum) -
SolveParameters
(پیام) -
SolverConfig
(پیام) -
WorkStatus
(enum)
زنگ تفريح
دوره زمانی که در آن یک کارمند کار خود را در یک شیفت قطع می کند.
زمینه های | |
---|---|
start_date_time | زمان شروع استراحت |
duration_minutes | مدت زمان استراحت بر حسب دقیقه |
BreakRule
قاعدهای که تعیین میکند چه زمانی یک وقفه میتواند در یک شیفت شروع شود و مدت آن. فهرست تمام وقفههای احتمالی که در نظر گرفته میشوند با افزایش rule_increment_minutes
تعیین میشوند. به عنوان مثال، اگر یک قانون استراحت مدل سازی یک استراحت 30 دقیقه ای است که می تواند بین ساعت 10:00 تا 11:00 شروع شود، و افزایش قانون 20 دقیقه است، لیست وقفه هایی که در نظر گرفته می شوند عبارتند از: [10:00, 10 :30]، [10:20، 10:50]، [10:40، 11:10]، [11:00، 11:30].
زمینه های | |
---|---|
earliest_start_time | زودترین زمان شروع استراحت (شامل). فقط |
latest_start_time | آخرین زمان شروع استراحت (شامل). فقط |
duration_minutes | مدت زمان استراحت بر حسب دقیقه |
rule_increment_minutes | [اختیاری] افزایش زمان بر حسب دقیقه برای همه وقفه هایی که می توان در این قانون استراحت در نظر گرفت. اگر تنظیم نشده باشد، به طور پیشفرض روی |
بودجه مورد نیاز
بودجه مورد نیاز برای یک بازه زمانی مشخص
زمینه های | |
---|---|
total_budget | بودجه کل برای بازه زمانی داده شده اگر اولویت اگر |
start_date_time | زمان شروع برای زمانی که این بودجه اعمال می شود. اگر زمان شروع مشخص نشده باشد، آن را به عنوان اولین زمان شروع از تمام شیفت های داده شده تنظیم می کنیم. |
end_date_time | زمان پایان برای زمانی که این بودجه اعمال می شود. اگر زمان پایان مشخص نشده باشد، تنظیم می شود که آخرین زمان پایان تمام شیفت های داده شده باشد. |
priority | سطح اولویت برای برآوردن نیاز بودجه در پنجره زمانی مشخص شده. اولویت پیشفرض توجه داشته باشید که اگر این اولویت بالاتر از سایر اولویتهای محدودیت باشد و اگر |
نیاز پوشش
الزامات پوشش تعداد کارکنان مورد نیاز برای مجموعه ای از نقش ها و/یا مهارت ها را در طول یک پنجره زمانی خاص و در یک مکان مشخص مشخص می کند. فواصل DateTime در یک مکان خاص نمی توانند همپوشانی داشته باشند. از طرف دیگر، فهرستی از شناسههای شیفت را میتوان به جای پنجره زمانی و مکان ارائه کرد. فقط کارمندانی که می توانند به نقش خاصی اختصاص داده شوند (یا دارای مهارت خاصی هستند) می توانند این نیاز را برآورده کنند.
برای یک نقش و/یا مهارت معین، الزامات پوشش زمانی برآورده میشود که حداقل تعداد target_employee_count
از کارمندان در هر لحظه در پنجره زمانی کار میکنند (یا برای هر شیفت در shift_ids
). در مقابل، اگر در هر نقطه از پنجره زمانی (یا برای هر یک از شیفتها در shift_ids
)، تعداد کارکنان کمتر از target_employee_count
در طول پنجره زمانی کار کنند، الزامات پوشش نقض میشود. تعداد کارکنان شاغل بیشتر از target_employee_count
همچنان این نیاز را برآورده می کند، اما کارمندان بیش از حد توسط حل کننده به حداقل می رسد.
زمینه های | |
---|---|
start_date_time | زمان شروع برای پوشش مورد نیاز (شامل). در صورت تنظیم، |
end_date_time | زمان پایان برای پوشش مورد نیاز (انحصاری). در صورت تنظیم، |
location_id | مکانی که در آن کارمندان مورد نیاز هستند. |
shift_ids[] | در صورت تنظیم، نقش و الزامات مهارت به صورت جداگانه برای هر شناسه شیفت در این لیست اعمال می شود. اگر shift_ids خالی نیستند، پس |
role_requirements[] | تعداد کارکنان مورد نیاز برای تخصیص به نقش های مشخص شده در پنجره زمانی. حداکثر یک |
skill_requirements[] | تعداد مورد نیاز کارمندان با مهارت های مشخص شده که در طول پنجره زمانی به شیفت ها اختصاص داده می شوند. حداکثر یک |
RoleRequirement
تعداد کارمندان مورد نیاز که در طول پنجره زمانی به نقش مشخص شده اختصاص داده شوند.
زمینه های | |
---|---|
role_id | شناسه نقش برای مورد نیاز. |
target_employee_count | تعداد مورد نظر کارمندانی که در طول پنجره زمانی به این نقش اختصاص داده شده اند. |
priority | سطح اولویت برای این محدودیت نیاز. اولویت پیشفرض برای همه محدودیتهای منبع |
نیاز به مهارت
تعداد مورد نیاز کارمندانی که در بازه زمانی مشغول به کار بوده و دارای مهارت مشخص شده باشند.
زمینه های | |
---|---|
skill_id | شناسه مهارت برای مورد نیاز. |
target_employee_count | تعداد مورد نظر کارمندان با مهارت داده شده که در طول پنجره زمانی کار می کنند. |
priority | سطح اولویت برای این محدودیت نیاز. اولویت پیشفرض برای همه محدودیتهای منبع |
نقض پوشش تقاضا
نقض پوشش تقاضا را برای بازه داده شده مشخص می کند. تقاضای کارمندان در کل بازه زمانی مشخص شده یکسان است.
زمینه های | |
---|---|
start_date_time | تاریخ شروع و زمان بازه تقاضا (شامل). این مقدار تا دقیقه مشخص می شود. |
end_date_time | تاریخ و زمان پایان بازه تقاضا (انحصاری). این مقدار تا دقیقه مشخص می شود. |
coverage_violation | نقض پوشش در بازه زمانی مشخص شده. مقدار مثبت نشان می دهد که تقاضا بیش از حد پوشش داده شده است و مقدار منفی نشان می دهد که تقاضا تحت پوشش است. |
کارمند
یک کارمند از نیروی کار برنامه ریزی شود.
زمینه های | |
---|---|
id | شناسه منحصر به فرد به این کارمند اختصاص داده شده است. |
role_ids[] | شناسه های نقشی که این کارمند می تواند انجام دهد. حداقل یک نقش باید مشخص شود. هنگامی که یک کارمند به یک شیفت منصوب می شود، آنها نیز به یک نقش واحد از این لیست منصوب می شوند. کارمند ممکن است در طول پنجره برنامه ریزی به نقش های مختلفی اختصاص یابد. |
skill_ids[] | شناسه های مهارتی که این کارمند دارد. این لیست می تواند خالی باشد. هنگامی که یک کارمند به یک شیفت منصوب می شود، از هر زیرمجموعه ای از مهارت های ذکر شده در اینجا برای پوشش مهارت های مورد نیاز در طول مدت شیفت تعیین شده استفاده می کند. |
shift_preferences[] | ترجیحات شیفت این کارمند. شیفت های مشخص شده در اینجا نشان دهنده شیفت هایی است که کارمند ترجیح می دهد در طول پنجره برنامه ریزی به آنها اختصاص داده شود. شناسههای shift مشخصشده در |
scheduling_constraints[] | لیست محدودیت های برنامه ریزی برای این کارمند. سطح اولویت پیشفرض برای هر یک از این محدودیتها |
resource_constraints[] | هر گونه محدودیت زمانبندی اضافی که در |
shift_requests[] | لیست درخواست های شیفت برای کارمند. درخواست می تواند برای کارمندی باشد که در شیفت های خاص منصوب شود یا نه. هر تکالیف زمانبندی ثابت برای کارمند را میتوان با |
hourly_contract | قراردادی که نرخ های منظم و اضافه کاری ساعتی را برای کارمند مشخص می کند. |
EmployeeDemand
تعداد کارکنان مورد نیاز برای پوشش تقاضا در بازه زمانی داده شده را مشخص می کند.
زمینه های | |
---|---|
start_date_time | شروع بازه زمانی برای تقاضای داده شده (شامل). این مقادیر تا دقیقه خوانده می شوند. ثانیه و تمام واحدهای کوچکتر نادیده گرفته می شوند. |
end_date_time | پایان بازه زمانی برای تقاضای داده شده (انحصاری). این مقادیر تا دقیقه خوانده می شوند. ثانیه و تمام واحدهای کوچکتر نادیده گرفته می شوند. |
employee_count | تعداد کارکنان مورد نیاز برای پوشش تقاضا برای این فاصله. |
EmployeeSchedule
لیستی از شیفت های مرتب شده مربوط به یک ShiftTemplate
که قرار است به تعدادی از کارمندان اختصاص داده شود.
زمینه های | |
---|---|
shift_template_id | شناسه الگوی مورد استفاده برای ایجاد این مجموعه شیفتها. |
shifts[] | فهرست شیفت هایی که تعداد |
employee_count | تعداد کارمندانی که باید به این مجموعه شیفت ها اختصاص داده شوند تا تقاضا را پوشش دهند. |
ShiftWithEvents
تاریخ شروع و پایان را به همراه فهرستی از رویدادهای ثابت یک شیفت تولید شده توسط حل کننده مشخص می کند.
زمینه های | |
---|---|
start_date_time | تاریخ و زمان شروع شیفت. این مقدار تا دقیقه مشخص می شود. ثانیه و واحدهای کوچکتر داده نمی شود. |
end_date_time | تاریخ و زمان پایان شیفت. این مقدار تا دقیقه مشخص می شود. ثانیه و واحدهای کوچکتر داده نمی شود. |
events[] | فهرست رویدادهای گنجانده شده در این تغییر، دقیقاً به ترتیب و به ترتیب |
رویداد
تاریخ شروع و پایان یک رویداد خاص را در یک شیفت ایجاد شده توسط حل کننده مشخص می کند.
زمینه های | |
---|---|
event_template_id | شناسه الگوی مورد استفاده برای ایجاد این رویداد. |
start_date_time | تاریخ و زمان شروع رویداد. این مقدار تا دقیقه مشخص می شود. ثانیه و واحدهای کوچکتر داده نمی شود. |
end_date_time | تاریخ و زمان پایان رویداد. این مقدار تا دقیقه مشخص می شود. ثانیه و واحدهای کوچکتر داده نمی شود. |
قالب رویداد
الگوی مشخص کننده قوانین برای ایجاد یک رویداد واحد که در طول یک شیفت رخ می دهد. یک رویداد ممکن است نمایانگر یک جلسه، استراحت، ناهار و غیره باشد.
زمینه های | |
---|---|
id | شناسه منحصر به فرد این الگو. |
minimum_minutes_after_shift_start | حداقل تعداد دقیقه پس از شروع یک شیفت که این رویداد می تواند شروع شود. |
maximum_minutes_after_shift_start | حداکثر تعداد دقیقه پس از شروع یک شیفت که این رویداد می تواند شروع شود. |
duration_minutes | مدت زمان ثابت در دقیقه از این رویداد. |
start_time_increment_minutes | افزایش زمان (بر حسب دقیقه) مورد استفاده برای ایجاد مجموعه زمانهای شروع رویداد ممکن بین |
قرارداد ساعتی
نرخ پایه ساعتی، تفاوت نرخ و ضریب اضافه کاری را برای تعیین غرامت برای یک کارمند مشخص می کند. توجه داشته باشید که مقررات در مکان های مختلف ممکن است نیاز به محاسبه متفاوتی برای جبران اضافه کاری داشته باشند. حل کننده غرامت اضافه کاری را تقریب می زند تا یک پروکسی از کل هزینه را به حداقل برساند یا یک بودجه را برآورده کند (به BudgetRequirement
مراجعه کنید). به عنوان ابزاری برای محاسبه حقوق و دستمزد در نظر گرفته نشده است.
زمینه های | |
---|---|
base_hourly_rate | غرامت یک ساعت کار غیر اضافه کاری. اگر چند نرخ برای کارمند اعمال شود، تفاوت نرخ نسبت به این نرخ پایه ساعتی اعمال می شود. علاوه بر این، اگر چند نرخ وجود دارد، نرخ پایه ساعتی باید حداقل این نرخ ها باشد. |
hourly_rate_shift_differentials | تفاوت نرخ ساعتی، که بالاتر از |
overtime_periods[] | فهرستی از تمام دوره هایی که اضافه کاری برای آنها باید محاسبه شود. این دوره ها نباید با هم تداخل داشته باشند. |
دوره اضافه کاری
یک دوره ثابت و به طور منظم تکرار شونده (معمولا 168 ساعت یا هفت دوره 24 ساعته متوالی) که برای تعیین میزان جبران اضافه کاری استفاده می شود. هر دوره دارای یک ضریب اضافه کاری (مثلاً 1.5) نسبت به base_hourly_rate
و محدودیتی در تعداد ساعاتی است که کار معمولی (غیر اضافه کاری) در نظر گرفته می شود. هر تغییری که با پنجره زمانی start_date_time
(شامل) و end_date_time
(انحصاری) همپوشانی داشته باشد در تعداد کل ساعات کار در دوره محاسبه می شود. اگر همپوشانی جزئی باشد، فقط ساعات همپوشانی شمارش میشود.
زمینه های | |
---|---|
overtime_multiplier | ضریب برای محاسبه نرخ ساعتی اضافه کاری (باید بزرگتر یا مساوی 1.0 باشد). نرخ ساعتی اضافه کاری معمولاً به صورت |
start_date_time | زمان شروع برای دوره اضافه کاری. اگر یک شیفت با این زمان همپوشانی داشته باشد، ساعتهای چنین تغییری از |
end_date_time | زمان پایان برای دوره اضافه کاری. اگر یک شیفت با این زمان همپوشانی داشته باشد، ساعتهای چنین شیفتی تا |
maximum_regular_hours | حداکثر تعداد ساعات کاری که با نرخ معمولی (غیر اضافه کاری) پرداخت می شود. این مقدار باید مثبت باشد. |
اولویت
سطح اولویت برای هر گونه محدودیت در برنامه کارمند یا الزامات پوشش. اینها عبارتند از SchedulingConstraint
، ResourceConstraint
، ShiftRequest
و CoverageRequirement
. از آنجا که ممکن است محدودیت های متناقضی وجود داشته باشد، همیشه نمی توان هر محدودیتی را برآورده کرد. به این ترتیب، هر نوع محدودیت دارای یک اولویت (داده شده توسط کاربر یا یک پیش فرض) است که به حل کننده در مورد اهمیت نسبی تمام محدودیت های داده شده به یک برنامه کامل اطلاع می دهد.
Enums | |
---|---|
PRIORITY_UNSPECIFIED | سطح اولویت نامشخص |
PRIORITY_LOW | پایین ترین سطح اولویت محدودیت های با این اولویت نسبت به سایر محدودیت ها اهمیت کمتری دارند. آنها اولین کسانی هستند که در صورت عدم یافتن راه حل عملی، برای نقض در نظر گرفته می شوند. |
PRIORITY_MEDIUM | سطح اولویت متوسط. محدودیتهای با این اولویت مهمتر از محدودیتهای با اولویت PRIORITY_LOW هستند، اما اهمیت کمتری نسبت به محدودیتهای با اولویت PRIORITY_HIGH دارند. اگر پس از رفع همه محدودیتها با اولویت PRIORITY_LOW ، راهحلی امکانپذیر یافت نشد، محدودیتهای اولویت PRIORITY_MEDIUM در مرحله بعدی برای نقض در نظر گرفته میشوند. |
PRIORITY_HIGH | بالاترین سطح اولویت. محدودیت ها با این سطح اولویت مهم ترین هستند. اگر پس از رفع محدودیتهای سطوح اولویت پایینتر، راهحلی امکانپذیر یافت نشد، آنها آخرین مواردی هستند که برای نقض در نظر گرفته میشوند. |
PRIORITY_MANDATORY | سطح اولویت که نشان دهنده چیزی است که توسط حل کننده قابل نقض نیست. اگر حلکننده SolutionStatus.INFEASIBLE برمیگرداند، ممکن است به دلیل محدودیتهای بیش از حد PRIORITY_MANDATORY باشد. |
محدودیت منابع
یک محدودیت کلی که میزان استفاده از یک "منبع" خاص توسط یک کارمند را محدود می کند. این یک نسخه انتزاعی از SchedulingConstraint
خاص تر است که برای کاربر انعطاف پذیرتر است. بسیاری از محدودیتهای زمانبندی که نمیتوانند در SchedulingConstraint.type
مشخص شوند، میتوانند با استفاده از این پیام به جای آن مشخص شوند.
زمینه های | |
---|---|
priority | سطح اولویت این محدودیت منبع. اولویت پیشفرض برای همه محدودیتهای منبع |
resource_usages | مقدار منابع استفاده شده توسط شیفت. به عنوان مثال، اگر این محدودیت برای حداقل و حداکثر ساعات کار یک کارمند در یک هفته خاص اعمال شود، این نقشه شامل شیفت هایی است که در آن هفته رخ می دهد و طول هر شیفت بر حسب ساعت. |
minimum_resource_usage | حداقل استفاده از منابع برای ارضای یک محدودیت منبع. |
maximum_resource_usage | حداکثر استفاده از منابع برای برآورده شدن یک محدودیت منبع. |
محدودیت زمانبندی
محدودیت برنامه ریزی خاص برای یک کارمند خاص. محدودیت مشخص شده فقط در بازه زمانی داده شده [start_date_time, end_date_time)
اعمال می شود.
زمینه های | |
---|---|
priority | سطح اولویت برای این محدودیت زمانبندی. اولویت پیشفرض برای همه محدودیتهای زمانبندی |
start_date_time | زمان شروع برای زمانی که این محدودیت زمان بندی اعمال می شود (شامل). |
end_date_time | زمان پایان برای زمانی که این محدودیت زمانبندی اعمال میشود (انحصاری). |
type فیلد اتحادیه نوع محدودیت مشخص شده هر محدودیت فقط در پنجره زمانی مشخص شده در بالا اعمال می شود. type می تواند تنها یکی از موارد زیر باشد: | |
minimum_minutes | حداقل دقایقی که کارمند می تواند کار کند. اگر کارمند به شیفتی اختصاص داده شود که (به طور کامل یا جزئی) با پنجره زمانی همپوشانی داشته باشد، تعداد دقیقه هایی که شیفت با پنجره زمانی همپوشانی دارد در این شمارش لحاظ می شود. |
maximum_minutes | حداکثر دقیقه ای که کارمند می تواند در پنجره زمانی کار کند. اگر کارمند به شیفتی منصوب شود که (به طور کامل یا جزئی) با پنجره زمانی همپوشانی داشته باشد، تعداد دقیقه هایی که شیفت با پنجره زمانی همپوشانی دارد در این شمارش لحاظ می شود. |
minimum_consecutive_work_days | حداقل تعداد روزهای متوالی که کارمند می تواند کار کند. اگر یک کارمند به شیفتی که در آن روز شروع می شود منصوب شود، در یک روز خاص کار می کند. هر شیفتی که کارمند به آن منصوب می شود و در پنجره زمانی شروع می شود، در این شمارش گنجانده می شود. |
maximum_consecutive_work_days | حداکثر تعداد روزهای متوالی که کارمند می تواند کار کند. اگر یک کارمند به شیفتی که در آن روز شروع می شود منصوب شود، در یک روز خاص کار می کند. هر شیفتی که کارمند به آن منصوب می شود و در پنجره زمانی شروع می شود، در این شمارش گنجانده می شود. |
minimum_shift_count | حداقل تعداد شیفت هایی که کارمند می تواند کار کند. هر شیفتی که کارمند به آن منصوب می شود و کاملاً با پنجره زمانی همپوشانی دارد در این شمارش گنجانده می شود. |
maximum_shift_count | حداکثر تعداد شیفت هایی که کارمند می تواند کار کند. هر شیفتی که کارمند به آن منصوب می شود و کاملاً با پنجره زمانی همپوشانی دارد در این شمارش گنجانده می شود. |
minimum_rest_minutes | حداقل دقایقی که کارمند باید بعد از پایان یک شیفت قبل از انتساب به شیفت دیگر استراحت کند. این محدودیت برای هر جفت شیفتی که به طور کامل در [ |
تغییر مکان
یک شیفت یک پنجره زمانی ثابت را مشخص می کند که کارکنان می توانند در آن کار کنند.
زمینه های | |
---|---|
id | شناسه منحصر به فرد به این شیفت اختصاص داده شده است. |
location_id | شناسه مکان که این شیفت در آن کار می کند. این می تواند خالی باشد. |
start_date_time | زمان شروع شیفت (شامل). |
end_date_time | زمان پایان نوبت (اختصاصی). در حال حاضر، حل کننده فقط برای جابجایی هایی که کمتر از 24 ساعت طول دارند اجازه می دهد. |
break_rules[] | فهرستی از قوانین شکست که در طول شیفت رخ می دهد. به کارمندانی که این شیفت را انجام می دهند، به ازای هر |
ShiftAssignment
یک کارمند برای تغییر نقش.
زمینه های | |
---|---|
employee_id | شناسه کارمند در حال تخصیص |
shift_id | شناسه شیفت به کارمند اختصاص داده شده است. |
role_id | شناسه نقشی که کارمند برای شیفت به آن اختصاص داده شده است. |
breaks[] | فهرست وقفهها برای این تکلیف شیفت. |
ShiftGenerationSolutionStatus
وضعیت راه حل ارائه شده در پاسخ یک حل کننده.
Enums | |
---|---|
SHIFT_GENERATION_SOLUTION_STATUS_UNSPECIFIED | وضعیت نامشخص برای پاسخ. |
SHIFT_GENERATION_SOLVED | حل کننده یک راه حل در محدودیت زمانی ارائه شده پیدا کرد. |
SHIFT_GENERATION_NOT_SOLVED | مشکلی مانع از ایجاد تغییر در حل کننده شد. |
SHIFT_GENERATION_NOT_SOLVED_DEADLINE_EXCEEDED | شیفت هایی برای پوشش تقاضا در مدت زمان مشخص شده ایجاد نشد. |
تغییر الویت
یک اولویت عددی برای یک شناسه شیفت خاص.
زمینه های | |
---|---|
shift_id | شناسه Shift که اولویت برای آن مشخص شده است. |
preference | مقادیر بزرگتر اولویت نشان دهنده تغییر مطلوب تر است. |
ShiftRequest
درخواست یک کارمند برای تعیین تکلیف یا عدم منصوب شدن در شیفت های خاص.
زمینه های | |
---|---|
priority | سطح اولویت این درخواست زمانبندی. اولویت پیشفرض برای همه درخواستهای زمانبندی |
shift_ids[] | شناسههای شیفت درخواست زمانبندی. |
type | نوع درخواست، به عنوان مثال، اینکه آیا درخواست به مجموعه شیفت ها اختصاص داده می شود یا خیر. |
ShiftTemplate
الگوی مشخص کننده قوانین برای ایجاد شیفت. شیفت واحدی از کار است که زمان شروع، زمان پایان را مشخص می کند و ممکن است شامل رویدادهایی باشد (مانند ناهار، استراحت و غیره). یک شیفت به تاریخ خاصی در پاسخ اختصاص داده می شود.
زمینه های | |
---|---|
id | شناسه منحصر به فرد این الگو. |
earliest_start_time | اولین زمان در روز که یک شیفت می تواند شروع شود. این مقدار با ساعت و دقیقه مشخص می شود. ثانیه ها و نانو ها نادیده گرفته می شوند. |
latest_start_time | آخرین زمان در روز که یک شیفت می تواند شروع شود. این مقدار با ساعت و دقیقه مشخص می شود. ثانیه ها و نانو ها نادیده گرفته می شوند. اگر این مقدار کمتر از |
duration_minutes | مدت زمان ثابت یک شیفت ایجاد شده توسط این الگو. |
start_time_increment_minutes | افزایش زمان (بر حسب دقیقه) مورد استفاده برای تولید مجموعه زمانهای شروع ممکن بین |
days_off_count_per_week | تعداد ثابت روزهای تعطیل در هفته اگر یک کارمند به شیفتی که از آن روز شروع می شود اختصاص داده نشود، یک روز مرخصی دارد. یک هفته 7 روز است و از یکشنبه شروع می شود. |
event_templates[] | قوانینی برای ایجاد رویدادها برای هر شیفت. دقیقاً یک رویداد در هر شیفت برای هر رویداد مشخص شده گنجانده خواهد شد. |
minimum_interevent_gap_minutes | حداقل دقیقه بین پایان یک رویداد و شروع رویداد بعدی. |
maximum_employee_count | حداکثر تعداد کارمندانی که می توان به تمام شیفت های ایجاد شده توسط این الگو اختصاص داد. |
وضعیت راه حل
وضعیت راه حل (یعنی یک برنامه زمانی) در پاسخ یک حل کننده ارائه شده است.
Enums | |
---|---|
SOLUTION_STATUS_UNSPECIFIED | وضعیت نامشخص برای پاسخ. |
FEASIBLE | برنامه برگشتی امکان پذیر است، اما ممکن است بهینه نباشد. |
OPTIMAL | برنامه برگشتی بهینه است. |
INFEASIBLE | هیچ برنامه زمانی قابل اجرا برای محدودیت های داده شده وجود ندارد. اگر زیرمجموعهای از محدودیتها با سطح اولویت PRIORITY_MANDATORY برآورده نشود، حلکننده ممکن است این مقدار را برگرداند. |
NOT_SOLVED | هیچ برنامه زمانی پیدا نشد |
NOT_SOLVED_DEADLINE_EXCEEDED | هیچ برنامه زمانی در محدوده زمانی داده شده یافت نشد. |
SolveParameters
پارامترهایی که یک حل مشکل زمانبندی شیفت را کنترل میکنند.
زمینه های | |
---|---|
time_limit | حداکثر زمانی که حل کننده باید برای مشکل صرف کند. اگر تنظیم نشده باشد، به طور پیش فرض روی 1 دقیقه تنظیم می شود. این مقدار یک محدودیت سخت نیست و برای سربار ارتباط حساب نمی کند. تاخیر مورد انتظار برای حل مشکل ممکن است کمی بیشتر از این مقدار باشد. |
SolverConfig
پارامترهای اضافی را برای حل مشکل Shift Generation مشخص می کند.
زمینه های | |
---|---|
time_limit | حداکثر زمانی که حل کننده باید برای مشکل صرف کند. اگر تنظیم نشده باشد، به طور پیش فرض روی 1 دقیقه تنظیم می شود. انتخاب محدودیت زمانی باید به اندازه مشکل بستگی داشته باشد. برای مثال، هنگام حل یک نمونه 7 روزه با 2 این مقدار یک محدودیت سخت نیست و برای سربار ارتباط حساب نمی کند. تاخیر مورد انتظار برای حل مشکل ممکن است کمی بیشتر از این مقدار باشد. |
multi_day_schedule | اگر درست باشد، حلکننده برنامههای |
shift_events_can_change | اگر درست باشد، برنامههای چند روزه |
وضعیت اشتغال
این که آیا یک کارمند کار می کند یا نه.
Enums | |
---|---|
WORK_STATUS_UNSPECIFIED | وضعیت کار نامشخص |
STATUS_WORK | وضعیت نشان دهنده یک کارمند شاغل |
STATUS_NOT_WORK | وضعیت نشان دهنده یک کارمند غیر شاغل. |