Text this: Linear and Mixed Integer Programming for Portfolio Optimization