Convex Optimization in Julia

M. Udell, K. Mohan, D. Zeng, J. Hong, S. Diamond, and S. Boyd

Proceedings High Performance Technical Computing in Dynamic Languages (HPTCDL), New Orleans, November 2014.

This paper describes Convex.jl, a convex optimization modeling framework in Julia. Convex.jl translates problems from a user-friendly functional language into an abstract syntax tree describing the problem. This concise representation of the global structure of the problem allows Convex.jl to infer whether the problem complies with the rules of disciplined convex programming (DCP), and to pass the problem to a suitable solver. These operations are carried out in Julia using multiple dispatch, which dramatically reduces the time required to verify DCP compliance and to parse a problem into conic form.