1. A computing device-implemented method of providing a graphical user interface (GUI) for a plurality of optimization solvers, said method comprising: providing the GUI for a plurality of optimization solvers, the GUI including a control to select a solver from the plurality of optimization solvers to solve an optimization problem, a section for a user to provide information to identify what solver should be used by the user and a recommendation GUI element for a user to request a recommendation of which of the optimization solvers to use to solve the problem; receiving information via the section of the GUI to identify what solver should be used by the user to solve the optimization problem; and in response to a user interaction with the recommendation GUI element, displaying in the GUI on a display device a recommendation of which of the optimization solvers to use in view of the received information.