Browse Help topics
Back to Help
Verified Aug 18, 20264 min read

Requirements, preferences, and objectives

Choose the correct rule type, scope, target, weight, and penalty function.

Choose the rule category

CategoryResult behaviorUse it for
RequirementEvery returned schedule must satisfy itA rule whose violation makes the schedule unusable
PreferenceA miss is allowed and adds weighted costA target that may trade off against other targets
ObjectiveOptimizes a global whole-schedule quality measureContact coverage and repeat avoidance

A large preference weight does not make that preference a requirement. It only increases its cost relative to other weighted terms.

Requirements

RequirementMeasurement
Fixed PlacementsEvery selected person who participates in a scoped session is assigned to the Target Group.
Keep TogetherAll selected people participating in a scoped session share one group. With three or more people, this is one all-together requirement.
Keep ApartEvery selected pair is separated in a scoped session when both people participate. Three selected people create three pairwise separations.

Each form requires people; Fixed Placements also requires a group. All Sessions includes future sessions. Selecting session numbers creates a fixed current-session list.

If requirements conflict or exceed capacity, GroupMixer cannot return a valid schedule. Change the people, group, session scope, or capacity named by the error.

Preferences

PreferenceMeasurement
Prefer TogetherScores every selected pair for being together in the selected sessions.
Prefer ApartScores every selected pair for being apart in the selected sessions.
Balance AttributesCompares the count of each selected attribute value with a desired distribution for each scoped group and session. Exact penalizes shortages and excesses; At least penalizes shortages only.
Attribute TotalsSums a numeric person attribute in each scoped group and session, then compares it with an exact, minimum, maximum, or range target. Missing or nonnumeric values contribute 0.
EncountersCounts sessions in which all selected people share one group, then compares that count with the configured minimum and maximum.
Group VisitsCounts how often scoped people are assigned to scoped groups. See Group Visits.

Prefer Together, Prefer Apart, and Keep Apart use every pair among the selected people. Encounters and Keep Together instead evaluate the selected set as a whole.

Understand scope

On scope controls for People, Groups, and Sessions:

  • All means all current and future items.
  • Selecting items creates an explicit fixed list.
  • Selecting every item individually is not the same as All; later items will not be added.
  • An empty explicit selection cannot be saved where the preference requires a scope.

The summary on each saved row shows the resulting scope.

Understand targets and cost

Minimum and maximum fields define the target range. A value inside the range has zero raw deviation. A value below the minimum has a shortfall; a value above the maximum has an excess.

Where the form offers a penalty function, raw deviation d and weight w are scored as:

Penalty functionCost for one measurement
Linearw × d
Squaredw × d²

With weight 10 and a deviation of 2, Linear costs 20 and Squared costs 40. The solver sums the measurements produced by that preference.

Weights are relative. Change one weight, target, or scope at a time, generate again, and inspect the corresponding compliance evidence. Where a form allows weight 0, the preference adds no optimization cost, but Results may still show its raw deviations.

Configure global objectives

Maximize Contacts rewards distinct participant pairs meeting at least once. Its weight competes with weighted preferences but never overrides requirements. Set the weight to 0 to deactivate it.

Avoid Repeats penalizes pair meetings above the configured global threshold. Linear cost adds the same amount for each excess meeting; Squared cost rises faster when repeats concentrate on the same pair. Its weight is relative to Maximize Contacts and the scoped preferences.

Avoid Repeats and Maximize Contacts are different: Avoid Repeats penalizes meetings above a pair threshold, while Maximize Contacts rewards broader unique contact coverage.

After generation, use Score Breakdown and the pair-meeting views to inspect objective performance. Expand Constraint Compliance for required-rule status and scoped preference deviations. See Understand results.