# SC 2022 Semilab: Optimization: How to Implement and Defend Against Gerrymandering

In this semilab, we will study the problem of mathematical optimization and some of its most impactful applications. We will learn the difference between convex and non-convex optimizations, and why linear optimization is easier than non-linear. We will introduce constraints, and go in-depth into some of the optimization algorithms internally in use at Sigma, including the workshop and semilab matching routines. Finally, and most importantly, we will describe how optimization can be used to obtain political redistricting that is favorable for one of the parties involved, as well as how to defend against it utilizing the notion of “political fairness”.

*Prerequisites:* experience programming in python