Connections between continuous and combinatorial optimization problems through an extension of the fundamental theorem of Linear Programming