I am a Postdoctoral Research Scientist at the Department of Industrial Engineering and Operations Research, Columbia University, hosted by Professor Christian Kroer and Professor Garud Iyengar. I recently obtained my Ph.D. from the Operations Research Center at MIT in May 2024. My research is primarily in optimization—both theory and application—and often both simultaneously.
Update. I will join the Department of Computational Applied Mathematics & Operations Research at Rice University as an Assistant Professor starting July 2025.
(2024-11-22) Geometry of Integer Optimization
(2024-09-27) KKT Operator and KKT Conditions
(2024-09-25) From Fenchel-Rockafellar Duality to Lagrangian Duality
(2024-09-17) Solving Mixed-Integer Optimization Problems using Benders Decomposition
(2024-03-28) Study notes on “Stochastic Polyak Step-size, a simple step-size tuner with optimal rates" by F. Pedregosa
(2023-01-06) Converting latex/pdf to html to markdown for Jekyll-based blogs
(2022-12-27) Convergence of stochastic gradient descent
(2022-10-03) Materials for the poster at the Cornell Young Researchers Workshop 2022
(2022-08-30) Solving bilinear optimization problems using Alpine.jl
(2022-07-23) Accelerated first-order methods as span-based first-order methods
(2022-06-06) Installing KNITRO in MacOS
(2022-05-16) Reproducing Optimized Gradient Method (OGM) in Julia+JuMP
(2022-04-27) Automated SDP relaxation of QCQPs in JuMP+Julia
(2022-03-18) “My heart skipped a beat” by Nasir Kazmi
(2022-03-09) Solving bilinear optimization problem using JuMP
(2022-03-01) Favorite quotes and excerpts
(2022-02-02) Tutorial on Optimization in Julia for MIT IAP course 15.S60: Computing in Optimization and Statistics (2022)
(2021-12-01) Constructing an interpolated function for the class of smooth strongly convex functions
(2021-11-30) Publication-quality plots in Julia using PGFPlotsX
(2021-11-24) Properties of smooth nonconvex interpolated functions
(2021-11-22) Constructing an interpolated function for the class of smooth convex functions
(2021-11-11) An improved lower-complexity bound for the class of convex and Lipschitz continuous functions
(2021-11-08) A lower-complexity bound for the class of convex and Lipschitz continuous functions
(2021-08-26) Tips and tricks in Mathematica
(2021-08-24) “An Understanding” by Rabindranath Tagore
(2021-07-30) Geometry of a prox-regular set
(2021-07-10) Solving mixed integer programming (MIP) problems using Julia+JuMP
(2021-02-03) Solving transportation problems in Julia+JuMP
(2021-02-01) Running parallel Julia code on MIT Engaging
(2021-01-18) Mutating function and array assignment in Julia
(2021-01-12) Defining inner constructor with parametric types in Julia
(2021-01-01) How to solve semidefinite optimization problems in Julia
(2020-12-21) The holy man and the venomous snake
(2020-12-01) Running parallel Julia code on MIT Supercloud
(2020-11-22) “Why do you want to go back, Lord of Mathura?” by Rituparno Ghosh
(2020-11-17) Computing scaled relative graph of composition of operators in Mathematica
(2020-11-15) Verifying inequalities in Mathematica
(2020-09-24) Computing proximal operator of a constrained function in Julia
(2020-05-05) Working with dataframes in Julia
(2020-04-28) Saving data files in Julia
(2020-04-25) Life of Egon Balas
(2020-04-13) Donald Knuth on work habits, problem solving, and happiness
(2020-04-10) Simple gradient descent algorithm in Julia
(2020-03-24) If you did not give me love by Rabindranath Tagore
(2020-03-22) How to create a simple package in Julia
(2020-01-24) Running Julia code on MIT Supercloud
(2020-01-20) Solving mixed-integer quadratic programming (MIQP) using Julia+JuMP