Changing problem settings with reactmap.Settings

There are lots of possible settings in reactmap. While the default settings should work for the majority of “standard” reactions, the user may want to explore some other options for challenging problems or for optimization purposes. The interested user is directed to 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)