Changing problem settings with reactmap.Settings
************************************************

There are many possible settings in "reactmap". While the default
settings should work for most "standard" reactions, you may want to
explore other options for challenging problems or for optimization
purposes. See the "Settings documentation" for an exhaustive list of
available options. Below, we provide a sample script in which we
change a few useful settings:

   import scm.reactmap as rm

   rm.logger.print_level = 'status'

   reactant = rm.Molecule(smiles="CC.O=O.O=O.O=O")
   product  = rm.Molecule(smiles="O=C=O.O.C[OH0][OH1].[OH0]")

   reaction = rm.Reaction(reactant=reactant, product=product, name="ethane combustion")
   # turn off all heuristics
   settings = rm.Settings(use_heuristics=False)
   rm.Map(reaction,settings)

   # reinitialize reaction to clear solution
   reaction = rm.Reaction(reactant=reactant, product=product, name="ethane combustion")
   # try to use the greedy upper bound heuristic
   settings = rm.Settings(ub_greedy=True)
   rm.Map(reaction,settings)

   reaction = rm.Reaction(reactant=reactant, product=product, name="ethane combustion")
   # set a time limit of 500s
   settings = rm.Settings(time_limit=500)
   rm.Map(reaction,settings)

   reaction = rm.Reaction(reactant=reactant, product=product, name="ethane combustion")
   # try the bond mapping mip formulation
   settings = rm.Settings(use_heuristics=False,formulation='bondmapping')
   rm.Map(reaction,settings)

   reaction = rm.Reaction(reactant=reactant, product=product, name="ethane combustion")
   # turn implicit H treatment off
   settings = rm.Settings(implicitH=False)
   rm.Map(reaction,settings)
