Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add acceptance criteria to both #99

Merged
merged 2 commits into from Aug 9, 2017
Merged

Conversation

drvinceknight
Copy link
Collaborator

For clarity, this is a fork of #98, once that's merged this diff should be clearer.

When using the heuristic to optimise the objective function it was doing
so in ignorance of the constraints.

This add the ability to pass a acceptance_criteria to both heuristics
which gives a bound on some measure. In practice it's used in
schedule.heuristic when an objective function is passed. In this case
it passes the violation counts as an acceptance_criteria to ensure
that as each heuristic goes through the search space optimising the
objective function it will only accept a solution if this does not add
any constraint violations.

The modified tests show a good example of this. The objective function
optimisation was giving a schedule that was in fact invalid. This has
now been fixed.

I was resetting the best energy incorrectly. That should only be reset
if the candidate is better.
@drvinceknight drvinceknight force-pushed the add-acceptance-criteria-to-both branch from abbfaba to b7124f6 Compare August 9, 2017 06:26
When using the heuristic to optimise the objective function it was doing
so in ignorance of the constraints.

This add the ability to pass a `acceptance_criteria` to both heuristics
which gives a bound on some measure. In practice it's used in
`schedule.heuristic` when an objective function is passed. In this case
it passes the violation counts as an `acceptance_criteria` to ensure
that as each heuristic goes through the search space optimising the
objective function it will only accept a solution if this does not add
any constraint violations.

TLDR:

The modified tests show a good example of this. The objective function
optimisation was giving a schedule that was in fact invalid. This has
now been fixed.
@drvinceknight drvinceknight force-pushed the add-acceptance-criteria-to-both branch from b7124f6 to 07bada3 Compare August 9, 2017 06:28
@meatballs meatballs merged commit c6f9b97 into master Aug 9, 2017
@meatballs meatballs deleted the add-acceptance-criteria-to-both branch August 9, 2017 07:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants