README.md in solve-1.2.1 vs README.md in solve-2.0.0

- old
+ new

@@ -36,9 +36,25 @@ Or, if you want a topologically sorted solution NOTE: This will raise Solve::Errors::UnsortableSolutionError if the solution contains a cycle (which can happen with ruby packages) Solve.it!(graph, [['nginx', '>= 0.100.0']], sorted: true) + +### Selecting A Resolver + +Solve supports two different resolvers. A pure Ruby solver implemented using [Molinillo](https://github.com/CocoaPods/Molinillo) and the same dependency resolver the Chef Server uses, [dep-selector](https://github.com/chef/dep-selector), which is a Ruby C extension for [Gecode](https://github.com/ampl/gecode). + +You can set the resolver by calling `Solver.engine=` with the symbol `:ruby` or `:gecode`. + +```ruby + Solver.engine = :ruby + Solver.engine = :gecode +``` + +The Ruby solver is installed and enabled by default. If you'd like to use the Gecode solver you can do so by installing the dep-selector gem or adding it to your Gemfile: + + $ gem install dep_selector + ### Increasing the solver's timeout By default the solver will wait 30 seconds before giving up on finding a solution. Under certain conditions a graph may be too complicated to solve within the alotted time. To increase the timeout you can set the "SOLVE_TIMEOUT" environment variable to the amount of seconds desired. $ export SOLVE_TIMEOUT=60