Neste trabalho, caracterizamos uma classe de métodos de direções viáveis na programação não-linear, através do conceito de linearização parcial da função objetivo. Baseado em um ponto viável, a função objetivo é substituída por uma função arbitrária convexa e continuamente diferenciável, e o erro é levado em conta por uma aproximação de primeira ordem do mesmo. Um novo ponto viável é definido através de uma busca linear com respeito ao objetivo original, na direção da solução do problema aproximado. Os resultados de convergência global são obtidos para buscas lineares aproximadas e exatas, com algumas de suas interpretações. Apresentamos alguns casos particulares do algoritmo geral e discutimos extensões para programação não diferenciável.