### FET Example Files Source: https://lalescu.ro/liviu/fet/doc/index Information about example .fet files. These files are useful for understanding FET's functionality and are often included in the official FET package in the 'examples' directory. ```en Example .fet files: If you got FET from other sources, the example files may be missing. Download the official FET package from homepage and in the directory "examples" you will find many examples from different countries ``` -------------------------------- ### FET Installation and Usage Source: https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan Instructions and guidance on installing and using the FET application, including links to detailed sections of the manual. ```ca # Instal·lant FET TODO: TODO de requisits: mateix com _readme_. (realment escrigui'l dues vegades? Potser curtcircuiti el readme i escrigui versió llarga aquí?) TODO: línia d'ordres que utilitza FET [Taula de matèries](https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan.html#id_1) # Utilitzant FET Fins i tot FET és un Qt-application ordenat, hauria de llegir aquest manual prudentment, perquè inclou moltes pistes i avisos com utilitzar-lo correcte. [Taula de matèries](https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan.html#id_1) ``` -------------------------------- ### FET Installation and Running Instructions (English) Source: https://lalescu.ro/liviu/fet/doc/index Instructions on how to install, compile, and run FET. These are typically found within the FET distribution's 'doc/installing-compiling-running' directory. ```en Installing, compiling, running: Please see FET distribution, directory "doc/installing-compiling-running" ``` -------------------------------- ### Preferred Time Constraints Explained Source: https://lalescu.ro/liviu/fet/doc/international/ar/FET-manual-ar This section details the difference between 'preferred time slot' and 'preferred starting time' constraints in the FET software. It clarifies how these constraints affect scheduling, particularly for activities with durations longer than one period, and provides examples of their application in real-world scenarios like managing main subjects and accommodating external teachers. ```en Difference between _preferred time slot_ and _preferred starting time_: - No difference if activities have duration 1. - Differences arise for activities with duration 2 or more. Example: An activity with duration 2: - Using _preferred time slot_: Can start at period 1 and 2. - Using _preferred starting time_: Can start at period 1, 2, 3, and 5. ``` -------------------------------- ### Practical Guide for FET (Arabic) Source: https://lalescu.ro/liviu/fet/doc/index A practical guide for using FET, authored by Benahmed Abdelkrim. ```ar Practical guide for FET, by Benahmed Abdelkrim: [Practical guide for FET](https://lalescu.ro/liviu/fet/doc/international/ar/Practical-guide-for-FET.pdf) ``` -------------------------------- ### FET Basic User's Guide (English) Source: https://lalescu.ro/liviu/fet/doc/index Another user's guide for FET, offering basic instructions and usage tips. Written by Tom Hosty. ```en another user's guide: [another user's guide](http://www.hosty.org/fet/FET%20Guide.htm) ``` -------------------------------- ### Accommodating External Teachers Source: https://lalescu.ro/liviu/fet/doc/international/ar/FET-manual-ar This example shows how to schedule an activity for an external teacher who arrives at a specific period. It utilizes the '_An activity has a preferred starting time_' constraint to ensure the activity is scheduled at the correct time. ```en For an external teacher arriving at a special period: Use constraint '_An activity has a preferred starting time_'. ``` -------------------------------- ### Learn FET with a Sample File (English) Source: https://lalescu.ro/liviu/fet/doc/index A guide designed to help users learn FET by working through a sample file. Written by Marcus Tsang. ```en Learn FET with a sample file: [Learn FET with a sample file](https://lalescu.ro/liviu/fet/doc/en/Learn-FET-with-a-sample-file.pdf) ``` -------------------------------- ### Period Duration Example Source: https://lalescu.ro/liviu/fet/doc/international/ar/FET-manual-ar Provides an example of how to configure periods based on activity durations. It illustrates that activities with longer durations require more periods. ```text Example: 90-minute activities need duration 3 if periods are 30 minutes. Example: 60-minute activities need duration 2 if periods are 30 minutes. ``` -------------------------------- ### Same Starting Time Constraints Source: https://lalescu.ro/liviu/fet/doc/international/ar/FET-manual-ar This section details how to enforce that a set of activities share the same starting time (day and hour). It covers scenarios like ensuring all activities in a year start at the same time, or specific groups of activities have the same start time. It also touches upon using categories for separating groups and handling odd numbers of groups. ```APIDOC Constraint: A set of activities has same starting time (day+hour) Description: Enforces that all selected activities must begin on the same day and at the same hour. Usage: Applicable when multiple activities need to be synchronized in their start time. Constraint: A set of activities has same starting day (any hour) Description: Ensures that a group of activities occur on the same day, but their start times can differ. Usage: Useful when the day is critical, but the exact hour is flexible. Constraint: A set of activities has same starting hour (any days) Description: Requires that a set of activities begin at the same hour, but they can be scheduled on different days. Usage: Useful when a specific hour of the day is important for a group of activities. Example Scenario: Scheduling sports for boys and girls separately. 1. Create activities for Sport (Teacher 1, Group 10A) and Sport (Teacher 2, Group 10B). 2. Apply the 'A set of activities has same starting time (day+hour)' constraint to these two activities. This ensures that Teacher 1 and Teacher 2 conduct their respective sports sessions simultaneously. ``` -------------------------------- ### FET Installation on Ubuntu GNU/Linux (Spanish) Source: https://lalescu.ro/liviu/fet/doc/index Instructions, in Spanish, on how to install FET on the Ubuntu GNU/Linux operating system. ```es How to install FET in Ubuntu GNU/Linux, in Spanish: [How to install FET in Ubuntu GNU/Linux, in Spanish](https://lalescu.ro/liviu/fet/doc/international/es/Instalaci%C3%B3n-de-FET-en-Linux.pdf) ``` -------------------------------- ### Configuring Preferred Starting/Time Slots in FET Source: https://lalescu.ro/liviu/fet/doc/en/faq Guides users on setting preferred starting times or time slots for activities in FET. This involves specifying criteria like teacher, student set, subject, and activity tag, along with the allowed time intervals. ```FET Configuration Q: Help on constraint activities preferred starting or preferred time slots (a set of activities has a set of preferred starting or time slots) A: You can specify a set of activities by selecting a teacher (if empty - all teachers), a students set (if empty - all students), a subject (if empty - all subjects) and an activity tag (if empty, all activity tags) and a set of allowed time slots. Starting means that an activity may only start at these periods. Time slots means more restrictive, that activity may only start and end and take place in these intervals ( if activity has duration 2 and on Monday is allowed 8:00, 9:00 and 10:00, then activity can only start at 8:00 or 9:00). ``` -------------------------------- ### FET User's Manual (English) Source: https://lalescu.ro/liviu/fet/doc/index The official user's manual for FET, written by Volker Dirr. It provides a detailed guide to using the software. ```en user's manual: [user's manual](https://www.timetabling.de/manual/FET-manual.en.html) ``` -------------------------------- ### Handling Fortnightly Activities in FET Source: https://lalescu.ro/liviu/fet/doc/en/faq This method addresses the challenge of scheduling fortnightly activities by dividing daily hours into two halves, representing week A and week B. Activities are assigned durations (1 for fortnightly, 2 for weekly) and a 'Start hour' tag with preferred starting times to ensure consistent placement across weeks. ```APIDOC Constraint: Activities occupy max time slots from selection - Purpose: To specify preferred starting times for activities. - Usage: Add an activity tag 'Start hour' to weekly activities. - Configuration: - Activities: All teachers, all students, all subjects, activity tag = 'Start hour' - Preferred starting times: Monday 8.00, Monday 9.00, etc. Activity Duration Mapping: - Fortnightly activities: Duration 1 - Weekly activities: Duration 2 Time Slot Division: - Week A: 8.00 to 8.30, 9.00 to 9.30, ... - Week B: 8.30 to 9.00, 9.30 to 10.00, ... ``` -------------------------------- ### Subject Allocation Example Source: https://lalescu.ro/liviu/fet/doc/international/ar/FET-manual-ar Presents a table illustrating subject allocation for different student groups (specializations) over a period. It shows how subjects like Biology, Chemistry, and Physics are assigned with specific hour counts for each specialization. ```en التخصص | المادة (الفترة) ---|--- احياء كيمياء فيزياء | احياء (4), كيمياء (1), فزياء (2) احياء (1), كيمياء (4), فيزياء (2) احياء (2), كيمياء (1), فيزياء (4) ``` -------------------------------- ### Activity Tag Usage and Recommendations Source: https://lalescu.ro/liviu/fet/doc/international/ar/FET-manual-ar Explains the purpose and recommended usage of activity tags in FET. Activity tags are optional labels for activities that can be used to enforce specific scheduling constraints, such as starting activities in odd periods or only in the morning. The document advises careful consideration and suggests using them primarily for constraint setting, recommending simpler constraint methods first. ```en Activity tags are for example _lecture_ (_reading_), _exercise_ or _laboratory_. If activities with duration 2 must start in odd periods (1st, 3th, 5th, ...), the activity tag might be _odd_. If some activities must (or should) be instructed only in the morning, the activity tag might be _morning_. Think twice before using activity tags. I recommend to use activity tags only to set constraints. First of all try to set constraints without a activity tags, because it will be easier. ``` -------------------------------- ### Scheduling Difficult Lessons Early Source: https://lalescu.ro/liviu/fet/doc/en/instructions For lessons that are difficult or require early scheduling, use constraint subactivities preferred time slots or starting times. Specify the subject and component numbers to guide the algorithm. This allows for precise control over when certain parts of a lesson are placed. ```APIDOC Constraint: Subactivities Preferred Time Slots / Starting Times Purpose: To specify preferred time slots or starting times for subactivities within a larger activity. Usage: - Select the subject and component numbers for the activities you want to schedule. - Define the preferred time slots (e.g., 'first half of the day'). Example: For a Maths lesson split into 4 activities, schedule components 1, 2, and 3 in the first half of the day. For a Bio lesson split into 2 activities, schedule component 2 for a specific time slot. ``` -------------------------------- ### FET Import Tutorial (Romanian) Source: https://lalescu.ro/liviu/fet/doc/index A tutorial in Romanian explaining how to import data or settings into FET. ```ro Tutorial import: [Tutorial import](https://lalescu.ro/liviu/fet/doc/international/ro/tutorialimport.html) ``` -------------------------------- ### Same Start Time Restrictions Source: https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan Defines constraints for activities having the same start time. This includes activities starting on the same day and hour, same day with any hour, or same start time on specific days. It also covers scenarios like planning sports separately for boys and girls or ensuring teachers can instruct multiple groups simultaneously. ```ca _Restriccions d'hora (activitats)_ → _Un conjunt d'activitats tenen mateix començant temps (day+hour)_ _Restriccions d'hora (activitats)_ → _Un conjunt d'activitats tenen mateix començant dia (qualsevol hora)_ _Restriccions d'hora (activitats)_ → _Un conjunt d'activitats tenen mateix hora de començament (alguns dies)_ ``` -------------------------------- ### Using Dummy Activities for Gap Management Source: https://lalescu.ro/liviu/fet/doc/en/faq General advice on using dummy activities to manage gaps for students or teachers when standard FET constraints are insufficient. It illustrates a case for limiting student gaps. ```FET Configuration If standard constraints are insufficient for gap management (e.g., max 3 gaps for a student set): Add an activity split into 3 per week, with no teachers. ``` -------------------------------- ### Odd Period Scheduling for Duration 2 Activities Source: https://lalescu.ro/liviu/fet/doc/international/ar/FET-manual-ar This example illustrates how to ensure activities with a duration of 2 are scheduled only in odd periods (1st, 3rd, 5th, etc.). It advises using an activity tag like '_odd_' and applying the '_A set of activities has a set of preferred starting times_' constraint, while cautioning against using '_A set of activities has a set of preferred time slots_' which could prevent scheduling. ```en For activities with duration 2 that must start in odd periods: 1. Use '_odd_' as an activity tag. 2. Add constraint '_A set of activities has a set of preferred starting times_' to all 1st, 3rd, and 5th periods. Avoid using '_A set of activities has a set of preferred time slots_' as it may prevent scheduling for activities with duration 2 or more. ``` -------------------------------- ### Preferred Time Slot vs. Preferred Start Time Source: https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan Explains the difference between preferred time slots and preferred start times for activities, particularly when activities have a duration greater than 1. Preferred start times offer more flexibility for longer activities. ```ca Una activitat amb la duració 2 pot ser començament al període 1 i 2 si utilitza restricció temps _preferit ranura_. Però una activitat amb la duració 2 pot començar al període 1, 2, 3 i 5 si utilitza restricció temps de començament _preferit_. ``` -------------------------------- ### Qt Documentation Source: https://lalescu.ro/liviu/fet/doc/en/other-algorithms-references General reference for the Qt framework, used extensively in the FET project for its cross-platform capabilities and rich set of UI and non-UI components. ```APIDOC Qt Documentation: Comprehensive reference for the Qt framework. URL: . ``` -------------------------------- ### Compilazione FET da Sorgente su macOS Source: https://lalescu.ro/liviu/fet/doc/international/it/Compilare-FET-sotto-macOS Comandi da eseguire nel Terminale per compilare il software FET dopo aver scaricato ed estratto il codice sorgente. Richiede che Xcode e Qt siano già installati. ```bash cd fet-x.x.x qmake -spec macx-g++ fet.pro make ``` -------------------------------- ### FET Constraint Usage Recommendations Source: https://lalescu.ro/liviu/fet/doc/en/faq Provides guidance on using FET constraints, especially when dealing with activity tags and daily hour limits. It highlights potential performance bottlenecks in timetable generation for extreme cases and suggests alternative constraint strategies to improve efficiency. ```English When A1 and A2 are constrained not to be in the same day with 95% weight, avoid adding grouped or consecutive constraints to them. Consider A1 and A2 as a single activity A12' or modify the 'min days between activities' constraint. For 'teacher(s) or students (set) activity tag max hours daily' constraint: If the ratio 'tag duration'/'total duration' for an ATS is over 0.50 - 0.75, and you use gap or early constraints, and the number of hours per day is high, consider using 'teacher(s) or students (set) max hours daily' constraint instead of or in addition to the activity tag constraint. Avoid making all activities have an activity tag and using the 'activity tag max hours daily' constraint; prefer the general 'max hours daily' constraint in such cases. ``` -------------------------------- ### Qt Default Style Selection Source: https://lalescu.ro/liviu/fet/doc/en/other-algorithms-references Explanation on how Qt selects its default style, providing insight into the application's visual appearance. ```APIDOC Qt Default Style Selection: Reference: ``` -------------------------------- ### Compiling FET on macOS (Italian) Source: https://lalescu.ro/liviu/fet/doc/index Instructions, in Italian, on how to compile the FET software on macOS. ```it Compilare FET sotto macOS: [Compilare FET sotto macOS](https://lalescu.ro/liviu/fet/doc/international/it/Compilare-FET-sotto-macOS.html) ``` -------------------------------- ### Similar Start Time Constraints Source: https://lalescu.ro/liviu/fet/doc/international/fa/persian_manual This constraint allows scheduling multiple classes to start at the same time. It can be applied based on the same hour and day, same day (any hour), or same hour (any day). This is useful for ensuring that certain groups of students have classes at the same time, or for managing shared resources like classrooms or instructors. ```persian محدودیت زمانی(کلاس­ها): مجموعه­ای از کلاس­ها که دارای زمان شروع مشابه­اند (ساعت+روز) محدودیت زمانی(کلاس­ها): مجموعه­ای از کلاس­ها که دارای روز شروع مشابه­اند (هر ساعتی) محدودیت زمانی(کلاس­ها): مجموعه­ای از کلاس­ها که دارای ساعت شروع مشابه­اند (هر روزی) ``` -------------------------------- ### Qt Network Module and ModSecurity Source: https://lalescu.ro/liviu/fet/doc/en/other-algorithms-references Information regarding HTTP 406 errors encountered when connecting from Qt and a fix for ModSecurity issues affecting the Qt network module's download functionality. ```APIDOC Qt Network Module and ModSecurity: - HTTP 406 error in Qt Network: - Fixing ModSecurity issues in Qt downloads: ``` -------------------------------- ### Excel Import Alternative for FET Source: https://lalescu.ro/liviu/fet/doc/international/ro/tutorialimport Briefly outlines the steps for importing data into FET using Microsoft Excel, noting that the process is more complex than using OpenOffice Calc. ```text 1. Create 6 corresponding CSV files. 2. Enter data and save with CSV extension. 3. Make necessary modifications with PSPad. 4. Import data into FET. ``` -------------------------------- ### Time Restrictions (Activities) Source: https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan Constraints for activities, including preferred start times, preferred time slots, minimum days between activities, and ensuring activities do not overlap. ```ca Restriccions d'hora (activitats) Una activitat té un temps de començament preferit Una activitat té un conjunt de ranures d'hora preferides Un conjunt d'activitats tenen un conjunt de ranures d'hora preferides Un conjunt de subactivitats tenen un conjunt de ranures d'hora preferides Una activitat té un conjunt de temps de començament preferits Un conjunt d'activitats tenen un conjunt de temps de començament preferits Un conjunt de subactivitats tenen un conjunt de temps de començament preferits N Min dies entre un conjunt d'activitats Una activitat acaba estudiants dia Un conjunt d'activitats acaben estudiants dia Un conjunt d'activitats tenen mateix començant temps (day+hour) Un conjunt d'activitats tenen mateix començant dia (algunes hores) Un conjunt d'activitats tenen mateix hora de començament (alguns dies) Es demanen 2 activitats 2 activitats són consecutives No s'estan solapar un conjunt d'activitats Buits Min (hores) entre un conjunt d'activitats ``` -------------------------------- ### FET Timetable Generation Hints Source: https://lalescu.ro/liviu/fet/doc/en/faq Offers practical advice for users generating timetables with FET, particularly those working with large datasets or complex constraint configurations. These hints focus on managing constraints effectively to avoid impossible timetables and improve generation speed. ```English Start with a minimum number of constraints and add more incrementally. Avoid changing too many constraints in a single simulation to prevent impossible timetables and to easily identify problematic constraints. Manually improving a generated timetable can sometimes be faster than creating numerous additional constraints and re-running simulations. ``` -------------------------------- ### Time Restrictions (Students) Source: https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan Constraints for student groups, including unavailability, maximum gaps per week/day, early start times, and maximum/minimum daily or continuous hours. ```ca Restriccions d'hora (estudiants) Un conjunt d'estudiants no està disponible Buits de Max per setmana per a un conjunt d'estudiants Buits de Max per setmana per a tots els estudiants Un conjunt d'estudiants comença d'hora Tots els estudiants comencen d'hora Hores de Max diàriament per a un conjunt d'estudiants Hores de Max diàriament per a tots els estudiants Hores Min diàriament per a un conjunt d'estudiants Hores Min diàriament per a tots els estudiants Hores de Max contínuament per a un conjunt d'estudiants Hores de Max contínuament per a tots els estudiants ``` -------------------------------- ### Tips for Data Entry in Calc Source: https://lalescu.ro/liviu/fet/doc/international/ro/tutorialimport Provides a tip for quickly entering data in OpenOffice Calc by cloning cell content vertically using CTRL + drag and drop. ```text a) Place the cursor in the bottom-right corner of the cell to be cloned (cursor turns into +); b) Hold down the "CTRL" key and drag and drop the cursor according to the desired multiplication. ``` -------------------------------- ### Adding Classes with a Team of Instructors Source: https://lalescu.ro/liviu/fet/doc/international/fa/persian_manual This section explains how to add classes taught by multiple instructors. It highlights potential conflicts with home rooms and recommends using preferred rooms. It also details two methods for handling a scenario where one of the multiple sessions needs to be co-taught. ```Persian منظور از این عبارت این است که 2 یا جند استاد به گروهی از دانشجویان در یک بازه زمانی درس بدهند. در این گونه موارد مواظب اتاق خانگی باشید، چون اتاق خانگی یک استاد اجازه اضافه کردن تیم اساتید را نمی­دهد. در این گونه موارد از اتاق ترجیهی استفاده کنید. برای تیم اساتید، یک کلاس باید حداقل 2 استاد داشته باشد. کافیست یک کلاس را با همه اساتید مورد نظر گروه دانشجویان و درس مربوطه اضافه کنید. یک کلاس به 4 کلاس در طول هفته تقسیم شده است. فقط یکی از این جلسات باید توسط 2 استاد اداره شود. برای این حالت دو راه مختلف وجود دارد: راه اول: یک کلاس ایجاد کرده و آن را به 4کلاس مختلف تقسیم کنید برای آن فقط یک استاد انتخاب کنید، در این حالت شماره یکی از این 4 جلسه را به خاطر بسپارید و سپس یک کلاس یک جلسه­ای با استاد دیگر بدون گروهی از دانشجویان بسازید. حالا با استفاده از محدودیت شروع مزمان با کلاس دیگر را برای کلاس احیر درست کرده و برای کلاس دیگر همان شماره را وارد کنید. راه دوم: یک ککلاس را با سه جلسه و یک استاد اضافه کرده و سپس کلاس دیگری را به صورت تک جلسه ای با دو استاد اضافه کنید. ``` -------------------------------- ### Subject-Specific Room Requirements Source: https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan Specifies mandatory room types for certain subjects, with fallback options if the primary room is unavailable. For example, chemistry must be in a chemistry lab. ```ca Sotmeti química ha sempre ser instruït en el laboratori de química. Afegeixi tema A de restricció té un espai preferit si té només un espai de química. Afegeixi tema A de restricció té un conjunt d'espais preferits si té uns quants espais de química. ``` -------------------------------- ### FET Timetable Generation Algorithm Description (English) Source: https://lalescu.ro/liviu/fet/doc/index Detailed documentation on the timetable generation algorithm used in FET. This includes general descriptions, detailed explanations, and references. ```en Timetable generation algorithm: Please see FET distribution, directory "doc/algorithm". The algorithm description is also available [here](https://lalescu.ro/liviu/fet/doc/en/generation-algorithm-description.html). More details are available [here](https://lalescu.ro/liviu/fet/doc/en/generation-algorithm-details.html). References for the generation algorithm are available [here](https://lalescu.ro/liviu/fet/doc/en/generation-algorithm-references.html). ``` -------------------------------- ### FET Timetable Generation Algorithm Steps Source: https://lalescu.ro/liviu/fet/doc/en/generation-algorithm-description Outlines the core steps of the FET timetable generation algorithm, including activity sorting, placement, and the recursive swapping mechanism for resolving conflicts. ```Algorithm Description * 1) Sort the activities, most difficult first. Not critical step, but speeds up the algorithm maybe 10 times or more. * 2) Try to place each activity (A_i) in an allowed time slot, following the above order, one at a time. Search for an available slot (T_j) for A_i, in which this activity can be placed respecting the constraints. If more slots are available, choose a random one. If none is available, do recursive swapping: * 2 a) For each time slot T_j, consider what happens if you put A_i into T_j. There will be a list of other activities which don't agree with this move (for instance, activity A_k is on the same slot T_j and has the same teacher or same students as A_i). Keep a list of conflicting activities for each time slot T_j. * 2 b) Choose a slot (T_j) with lowest number of conflicting activities. Say the list of activities in this slot contains 3 activities: A_p, A_q, A_r. * 2 c) Place A_i at T_j and make A_p, A_q, A_r unallocated. * 2 d) Recursively try to place A_p, A_q, A_r (if the level of recursion is not too large, say 14, and if the total number of recursive calls counted since step (2) on A_i began is not too large, say 2*n), as in step (2). * 2 e) If successfully placed A_p, A_q, A_r, return with success, otherwise try other time slots (go to step (2 b) and choose the next best time slot). * 2 f) If all (or a reasonable number of) time slots were tried unsuccessfully, return without success. * 2 g) If we are at level 0, and we had no success in placing A_i, place it like in steps (2 b) and (2 c), but without recursion. We have now 3 - 1 = 2 more activities to place. Go to step (2) (some methods to avoid cycling are used here). ``` -------------------------------- ### Gym Capacity Management (Variant 2) Source: https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan Variant 2 for managing gym capacity where 3 smaller groups use the gym. It uses a constraint to ensure these activities start at the same time. ```ca Escrigui tots els grups més petits. Afegeixi _Un conjunt d'activitats té mateix temps de començament (day+hour)_ de connectar 3 grups d'activitat d'esport petits junt. ``` -------------------------------- ### Handling Teacher Unavailability Source: https://lalescu.ro/liviu/fet/doc/international/ar/FET-manual-ar Describes how to mark teachers as unavailable for specific periods or days, preventing them from being scheduled. This can be done using the 'Not available' constraint or by adding pseudo-activities with preferred starting times. ```APIDOC Constraint: تفريغ مدرس (Teacher Unavailability) Description: Marks a teacher as unavailable for specific time slots. Usage: Apply to individual teachers to indicate periods they cannot be scheduled. Example: A teacher teaching at another school on Wednesday and Thursday should have this constraint applied to those times. ``` ```APIDOC Constraint: An activity has a preferred starting time Description: Assigns a preferred start time to an activity, which can be used to indirectly manage unavailability by scheduling a pseudo-activity. Usage: Useful for situations where a teacher or student has an external commitment, and you want to represent this without creating a gap. Example: Use a pseudo-activity with this constraint for students on industrial placement. ``` -------------------------------- ### External Instructor Visit Scheduling Source: https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan Demonstrates how to schedule an activity for all students to attend a special period with an external instructor. It uses the 'activity has a preferred start time' restriction for the first part of the day, excluding Friday. ```ca Ús que _Una activitat té un temps de començament preferit_. Tots els estudiants haurien de ser capaços de celebrar Massa en la primera part excepte divendres. Afegeixi una activitat a tots els anys amb sotmetre Massa i el sacerdot com professor. Ús del qual _Una activitat té un conjunt temps preferits_. Seleccioni activitats corresponents i seleccioni les primeres parts com temps preferits. ``` -------------------------------- ### Working Days and Periods Configuration Source: https://lalescu.ro/liviu/fet/doc/international/ar/FET-manual-ar Details how to set up working days and periods. It suggests using shortcuts for shorter table displays and explains that periods represent time durations, with FET treating each period as duration 1. ```text Working days: e.g., Monday to Friday (use shortcuts like MON, TUE). Periods: Represent time duration. FET treats each period as duration 1. Ensure consistent duration for periods unless specific breaks are added. ``` -------------------------------- ### Team Teaching Variant 1 Source: https://lalescu.ro/liviu/fet/doc/international/ar/FET-manual-ar This variant addresses team teaching where one teacher participates in only a fraction of the total periods for an activity. It involves creating a pseudo-activity for the team-teaching teacher and linking it via a same starting time constraint. ```APIDOC Scenario: Team teaching for a fraction of periods. Variant 1: Pseudo Activity 1. Create the main activity (e.g., Native Language, Teacher X, Group Y, Duration 4 periods). 2. Create a separate 'pseudo' activity that only includes the team-teaching teacher (e.g., Team Teacher Z, Duration 1 period). 3. Apply the 'A set of activities has same starting time (day+hour)' constraint between the main activity and the pseudo activity. 4. Ensure the 'block' checkbox for the pseudo activity is unchecked to allow it to be viewed as a single, distinct activity. Note: This variant might reserve two rooms if teacher home rooms are utilized, one for the main activity and one for the pseudo activity. ``` -------------------------------- ### FET Fortnightly Activities Simulation Source: https://lalescu.ro/liviu/fet/doc/en/faq This explains a workaround for simulating fortnightly activities in newer FET versions (5.0.0+), which do not natively support them as easily as older versions. It involves defining dummy activities and using constraints. ```FET Simulating Fortnightly Activities (FET v5.0.0+) Challenge: Direct support for fortnightly activities is difficult in the new algorithm. Workaround: 1. Define a base weekly activity (e.g., Activity A with teachers T1, T2 and students S1, S2). 2. If multiple rooms are needed for the base activity, define dummy activities (e.g., A' with no teachers/students). 3. Use 'Constraint activities same starting time' between the base activity and its dummy counterpart(s). 4. Assign the required rooms to both the base and dummy activities. Example Scenario: - Week 1: Activity A1 (T1, S1), A2 (T2, S2) - Week 2: Activity A3 (T1, S2), A4 (T2, S1) Implementation: - Define a weekly activity 'A' (T1, T2, S1, S2). - If 2 rooms are needed, define dummy 'A'' (no teachers, no students). - Add constraint: 'same starting time' for A and A'. - Assign rooms to A and A'. ``` -------------------------------- ### Activity Duration Calculation in FET Source: https://lalescu.ro/liviu/fet/doc/international/ro/tutorialimport Explains how FET handles 'total duration' and 'split duration' for activities. It provides examples of correct and incorrect entries and how FET automatically calculates missing values. ```text Example 1: total duration = 4 split duration = 2+1+1 => correct Example 2: total duration = 3 split duration = 2+1+1 => FET will not import this line Example 3: total duration = 4 split duration = (empty) => FET automatically assigns 1+1+1+1 Example 4: total duration = (empty) split duration = 2+1+1 => FET automatically assigns total duration 4 ``` -------------------------------- ### Constraint Weights Explanation Source: https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan Explains the concept of constraint weights in FET, their impact on the scheduling algorithm, and provides recommendations for setting weights to achieve desired scheduling outcomes. ```ca Pes | No. Mitjà de Reintents 50% | 2 75% | 4 80% | 5 90% | 10 95% | 20 99% | 100 99.5% | 200 99.75% | 400 99.80% | 500 99.90% | 1000 99.99% | 10000 100.00% | unlimited Totes les restriccions tenen un pes. Un pes d'un 100% volen dir que aquesta restricció s'hagi de respectar. Una mitjana aritmètica de valor més baixa que això s'hauria de respectar, no és necessari. És força difícil explicar la funció exacta, però una il·lustració simple és el seguir: Un 50% mitjana aritmètica de pes que en mitjana FET torna a intentar dues vegades per posar una activitat sense un conflicte. Si FET no pot posar l'activitat sense un conflicte després de 2 vegades mitjanes es queda el conflicte i intenta posar la pròxima activitat. Això no és una explicació exacta de l'algoritme, perquè les activitats es podrien inassignar o el cicle es reobria. Totes les restriccions s'alenteixen trobant una solució. Així només afegir restricció necessitada. Per exemple si el seu horari són (gairebé) un 100% omplerts vostè (potser) no necessita afegir restriccions com mínims o màxims períodes per dia. Com fer un pes bo i correcte? En la meva opinió gairebé totes les restriccions haurien de tenir el pes un 100%. Especialment restriccions que tenen un altre màxim valor (com màxims dies/períodes/buits). El n Min dies entre un conjunt de restricció d'activitats és una mica delicat. Hauria de ser sempre un 100%, només les activitats de curs en horaris omplerts d'un 100% haurien de tenir a vegades valors més baixos. Legeixi la secció [Anys grups i subgrups](https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan.html#id_12) i [N min de dies entre un conjunt d'activitats](https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan.html#id_19) per comprendre el motiu. Tan naturalment és una idea bonica escriure una llista de totes les restriccions necessitades i demanar-los per importància. Però no recomano per posar pes a un 100% a la restricció més important, potser un 99% a la segona restricció important i tan en fins a l'últim. Recomano per afegir totes les restriccions pas a pas amb el pes un 100% (excepte uns quants n Min dies entre un conjunt de restriccions d'activitats). Si afegeix una restricció amb un altre valor (com màxims dies/períodes/buits) llavors també utilitzar el pes un 100%, però utilitzar un valor alt. Després de tot s'afegeixen restriccions i si FET pot trobar encara una solució, comencen a disminuir els màxims valors de dies/períodes/buits. ``` -------------------------------- ### Scheduling Activities in Odd Periods Source: https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan Explains how to ensure activities with a duration of 2 are scheduled only in odd-numbered periods (1st, 3rd, 5th). It advises using 'activity has a set of preferred start times' with specific periods marked as preferred. ```ca Activitats amb la duració 2 han (o havia) començament només en períodes estranys (1r, 3r, 5è...). Ús _estrany_ com activitat marcar i sumar-se un conjunt A de restricció d'activitats té un conjunt de temps de començament preferits a tots els 1rs, 3rs i 5ns períodes. No utilitzi conjunt A de restricció d'activitats tenen un conjunt de ranures d'hora preferides per efectuar això, perquè que les activitats mean amb la duració 2 o més no es poden posar! ``` -------------------------------- ### FET Manual and Constraints (Spanish) Source: https://lalescu.ro/liviu/fet/doc/index Documentation for FET in Spanish, including the user manual and a list of constraints. ```es Manual Spanish: [Manual Spanish](https://lalescu.ro/liviu/fet/doc/international/es/manual_esp.pdf) ``` ```es The list of constraints, in Spanish: [Constraints, in Spanish](https://lalescu.ro/liviu/fet/doc/international/es/Constraints_spanish.pdf) ``` -------------------------------- ### Add Religion Activity (Variant 2: Pseudo-activities) Source: https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan Variant 2 for scheduling religion with space issues: add all activities as a single activity, sum necessary pseudo-activities (without teacher and space), and add same start time to these activities. ```ca Variant 2: Afegeixi "totes" les activitats just com una activitat (com sense problemes d'espai), sumi's com es necessiten moltes pseudoactivitats (sense un professor i espai) com espais i afegeixi temps de[Mateix temps de començament](https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan.html#id_27) a aquestes activitats ``` -------------------------------- ### Student Early Start Constraint Source: https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan This constraint ensures that students begin their day with an activity in the first period, unless other specific unavailability constraints are applied. It's particularly relevant for students who rely on bus transportation that only arrives for the first period. ```ca Restriccions d'hora (estudiants) -> Un conjunt d'estudiants comença d'hora Restriccions d'hora (estudiants) -> Tots els estudiants comencen d'hora ``` -------------------------------- ### Consideracions sobre la planificació d'horaris i la resolució d'horaris Source: https://lalescu.ro/liviu/fet/doc/international/ca/manual_catalan Aquest fragment adverteix sobre els horaris gairebé al 100% omplerts, on les activitats es planifiquen simultàniament. S'emfatitza la importància de garantir que l'horari sigui resoluble, especialment quan la durada total de les activitats d'un curs supera la disponibilitat d'un sol professor. També es desaconsella la supressió de subgrups en horaris no omplerts al 100% per evitar problemes amb la flexibilitat de la planificació futura. ```FET Scheduling Vagi amb compte si té un (gairebé) un 100% omplerts horari. Això les activitats són planificades simultàniament si l'horari és un 100% omplerts. Així si fa el planejament d'activitat que ha de ser segur que l'horari sigui solucionable. Potser sap que (per accident) cap estudiant és al Grup 10 A i 10 Bio alhora. Pot suprimir els subgrups corresponents. Potser aconsegueix millors horaris per això. Però necessita fer-ho només si el seu horari no són un 100% omplerts. Vagi amb compte! Això també voler dir que vostè (potser) no pugui posar un estudiants amb grup 10Bio a 10 A més tard. Potser aconsegueix estudiants nous (perquè els pares mudaven de casa). Així jo altament no recomana això! ``` -------------------------------- ### الحصتين المتتاليتين Source: https://lalescu.ro/liviu/fet/doc/international/ar/FET-manual-ar يضمن هذا القيد جدولة نشاطين محددين في نفس اليوم دون أي فجوات أو استراحات أو أنشطة أخرى بينهما. إنه مفيد عندما يحتاج الطالب إلى حضور مادتين مرتبطتين بشكل متتابع مع معلمين مختلفين. ```ar نشاطان متتاليان ```