Subject: Proposal for a New "Constraint Group (Constraint Container)" Feature in

Started by Alami mohammed, July 21, 2026, 12:21:41 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Alami mohammed

Dear Mr. Liviu,

First of all, I would like to express my sincere gratitude and appreciation for the tremendous effort you have put into developing FET. It has become an indispensable tool for many educational institutions around the world. I have been using it for several years, and I truly appreciate the quality of its algorithm and the flexibility it offers.

I would like to suggest a new feature for both Time Constraints and Space Constraints, which could be called Constraint Group.

The idea is to introduce a new type of constraint that acts as a container or group, allowing users to combine two or more existing constraints into a single logical group. Instead of requiring every constraint in the group to be satisfied independently, the user could define the logical relationship between them.

For example, if a group contains two constraints, the group could be considered satisfied if either one of the constraints is satisfied, or if both are satisfied, depending on the option selected by the user.

For groups containing several constraints (four, five, or more), I suggest providing different grouping modes, such as:

All constraints must be satisfied (AND).

At least one constraint must be satisfied (OR).

Exactly N constraints must be satisfied, where N is chosen by the user.

At least N constraints must be satisfied.

At most N constraints may be satisfied.


I also believe the most user-friendly implementation would be to add a "Group Constraints" button in the constraints list window.

The user would simply select multiple existing constraints, click the Group Constraints button, and a dialog would appear asking how these constraints should be combined. The dialog would allow the user to choose the grouping mode (AND, OR, Exactly N, At Least N, At Most N, etc.).

This approach would eliminate the need to recreate constraints, since users would only group existing ones. It would also integrate naturally with FET's current interface and workflow.

I believe this feature would significantly increase the flexibility and expressive power of FET, making it possible to model many real-world scheduling situations that are currently difficult or impossible to represent using the existing constraint system alone.

Thank you once again for creating and continuously improving this outstanding software. I hope you will find this suggestion useful, and I sincerely appreciate your consideration.

With my highest respect and best regards,

Mohammed Alami

Liviu Lalescu

Thank you for your kind words, Mr. Mohammed!

I'll add this in the TODO, but it is impossible. All constraints in FET must be combined with AND.