Yes, this is exactly linear programming !! Note that given a polytope, there is a method named .to_linear_program() to make a linear program out of it (you will then have to set an objective corresponding to r).