packing and covering linear programs