class ClassicalBendersDecomposition(object):
    def __init__(self, master_model, sub_model, link_variables):
        pass

class CombinatorialBendersDecomposition(object):
    def __init__(self, master_model, sub_model, link_variables):
        pass

class GeneralizedBendersDecomposition(object):
    def __init__(self, master_model, sub_model, link_variables):
        pass

class LogicbasedBendersDecomposition(object):
    def __init__(self, master_model, sub_model, link_variables, fasibility_cuts, optimality_cuts):
        pass

def main():
    pass

if __name__ == '__main__':
    main()