In this chapter, the application of algebraic modeling systems to solve Chemical Engineering optimization problems is discussed. As an introduction, we start with a classification of optimization formulations and their match and applicability to Chemical Engineering problems. Next, we describe the main characteristics and advantages of using algebraic modeling systems to solve optimization problems. Afterward, we advocate that in modeling complex problems, the equations should be separated from the data and solvers. We illustrate this principle in two Chemical Engineering examples and provide the corresponding models. The second example corresponds to a process synthesis problem, where in the model, the units performance sub-models are further independent from the structure of the flowsheet. Consequently, alternative flowsheet models can be easily built using the same sub-models. We conclude with references to open examples of Chemical Engineering models.