I am trying to minimize the edge lengths of a polygon while keeping the angles the same. I can achieve this geometrically (iteratively), however, I am looking for some related papers that can solve the problem algebraically.
If you multiply the length of every side by a constant then all the angles will be preserved, this just produces a similar polygon. Multiply by a very small constant and you get a very small length, as small as you want, all the way down to zero.
You can do this easily if you have the $(x,y)$ coordinates of the vertices of the polygon with perimeter $L$ and area $A$. Simply multiply all the vertices by the same scaling factor, say $\alpha$, to get a new set of vertices and a polygon with perimeter length $\alpha L$ and area $\alpha^2 A$. You can avoid also translating the polygon with this rescaling by placing it with its center of area at the origin.
I think this doesn't solve your problem but may help you. I used mapshaper to do reduce the number of points in the polygon. You drag a polygon file into it (I used geojson) and you can change the resolution of the polygon.
Mapshaper code is on Github.