Пређи на главни садржај

Ограничење које чини ваш FET распоред немогућим

Importing from FET 1 минут читања

Једно погрешно ограничење може учинити FET датотеку нерешивом, а претрага може трајати сатима, па је проверите прво — бесплатно је и траје неколико секунди.

Унесете све податке. Притиснете Генериши у FET-у. Затим чекате.

Прође десет минута. Прође сат времена. Број распоређених активности никада не достиже укупан број. На крају, зауставите генерисање и немате распоред. Што је најгоре, не знате зашто.

Проблем је често једно ограничење

Школски распоред има стотине ограничења. Већина њих је исправна. Једно од њих није, а ви то не видите.

На пример:

  • Одељење од 31 ученика може да користи само учионице са 30 места.
  • Наставник има 26 часова, али је доступан само за 24 термина.
  • Неко правило оставља активност без дозвољеног времена почетка у недељи.
  • Четири часа морају бити различитим данима, али група ученика има наставу само три дана.

Свака од ових ставки чини распоред немогућим. Ниједан распоред га не може задовољити. Али датотека изгледа нормално. FET је отвара и почиње претрагу.

Зашто вам претрага то не говори

FET веома добро ради свој посао. Он тражи распоред који поштује свако ограничење. FET одбија неке датотеке одмах. За многе друге проблеме, он започиње претрагу која не може успети.

Неуспешна претрага вам говори само једно: ова претрага није пронашла распоред. Она не може да разликује „ваша ограничења ово чине немогућим“ од „овог пута га нисам пронашао“. Зато промените тежину, покушате поново и поново чекате.

Ту се губе сати. Време одлази на претрагу која никада није могла успети, а не на решавање.

Прво бројите, затим тражите

Постоји брже питање које треба поставити пре него што генеришете: да ли је овај распоред уопште могућ?

То питање не захтева претрагу. Захтева аритметику. Провера чита ваша ограничења и броји простор који она остављају:

  • број часова које наставник мора да одржи, у односу на број доступних термина
  • времена почетка која активност још увек има, након примене свих правила
  • да ли су два часа која се оба морају одржати приморана да буду у истом термину
  • да ли група часова захтева више дана него што недеља има

Када један од ових бројева достигне нулу, распоред је немогућ. То није нагађање о тежини. То је доказ, а провера га даје за неколико секунди.

Именује правило

Доказ је користан само када можете да реагујете на њега. Сваки налаз каже шта није у реду, једноставним речима, и именује укључена правила.

Један налаз, отворен: одељење има 31 ученика, а највећа учионица коју може да користи има 30 места. Укључено правило је именовано
Један налаз, отворен: одељење има 31 ученика, а највећа учионица коју може да користи има 30 места. Укључено правило је именовано

У примеру изнад, Математика · 9A има 31 ученика. Највећа учионица коју дозвољава ограничење Пожељна учионица за активност има 30 места. Решење је јасно: дозволите већу учионицу или поделите одељење.

Налази су у групама. Доказано немогуће садржи проблеме које ниједан програм за решавање не може да превазиђе. Остале групе садрже вероватне грешке и ствари које чине датотеку тешком. Прочитајте више у Четири врсте налаза.

Два места где се користи

Без налога: FET помоћник. Идите на fetviewer.com/check и изаберите своју .fet датотеку. Бесплатно је и нема ограничења у броју поновних провера. Ваша датотека остаје на вашем рачунару. Ваш прегледач шаље само сажетак на наш сервер, а сажетак не садржи имена: наставници, учионице и групе ученика се шаљу као бројеви. Не чувамо ништа. Погледајте Провера датотеке без налога.

Унутар вашег налога: Прелиминарна провера. Када увезете свој распоред, страница Прелиминарна провера се налази поред ограничења на екрану са подацима. Сваки одељак са ограничењима такође приказује сажетак у једном реду на врху. Промените ограничење и проверите поново док радите. Погледајте Шта ради прелиминарна провера.

Шта не може да вам каже

Провера доказује немогуће случајеве. Она не може да докаже да ће датотека бити решена, и не може вам рећи колико ће времена FET-у требати. Чиста провера уклања један разлог за неуспех. Претрага је и даље посао FET-а.

Зато користите оба, овим редоследом:

  1. Проверите датотеку.
  2. Исправите оно што провера докаже.
  3. Затим пустите FET да тражи.

Прочитајте цело поређење у Како се провера разликује од решавања помоћу FET-а.

Пре следећег дугог чекања

Следећи пут када генерисање траје предуго, зауставите га. Прво проверите датотеку. Ако неко ограничење чини распоред немогућим, сазнаћете за неколико секунди и видећете које је то ограничење.

Проверите своју FET датотеку →