SwarmOps supports general constraints by taking feasibility (constraint satisfaction) into account when comparing candidate solutions. Normally, we determine whether candidate solution is better than by comparing their fitness with , but it is also possible to take feasibility into account. Feasibility is a Boolean; either a candidate solution is feasible or it is infeasible. The comparison operator is as shown in the following diagram:
Note in the preceding diagram that the actual implementation of this comparison is simplified somewhat. Also note that when is feasible and is infeasible, their fitness need not be computed. This is because is worse than due to their mutual feasibility. This is used in the implementation to avoid fitness computations when possible.