O que é programação linear inteira e quando devemos Utilizá-la?