  This paper seeks to address how to solve non-smooth convex and strongly
convex optimization problems with functional constraints. The introduced Mirror
Descent (MD) method with adaptive stepsizes is shown to have a better
convergence rate than MD with fixed stepsizes due to the improved constant. For
certain types of constraints, the method is proved to generate dual solution.
For the strongly convex case, the restart technique is applied.
