Patent ID: 9613000
Date: 2017-04-04
CPC Classifications: G06F,G06N

Claim:
1. At least one non-transitory computer-readable storage medium comprising instructions that, when executed, cause a system to: receive an optimization problem described by an objective and constraints on a plurality of variables; receive an initial feasible solution to the optimization problem, the initial feasible solution comprising an assignment of values to the plurality of variables satisfying all the constraints, the initial feasible solution producing an initial objective value when applied to the objective; receive one or more symmetries of the plurality of variables for the constraints, the one or more symmetries defining permutations of the plurality of variables guaranteed to produce only additional feasible solutions given the constraints when applied to an existing feasible solution; use the symmetries to produce permutations of the assignment of values to the plurality of variables; determine which of the permutations result in an improved objective value when applied to the objective, the improved objective value improving on the initial objective value produced by the initial feasible solution; and select the permutation that results in the improved objective value as an improved feasible solution to the optimization problem, the improved feasible solution improving on the initial feasible solution according to the objective.