На основе идей рангового подхода предложен метод позволяющий решать задачи линейного булевого и нелинейного булевого программирования с единых позиций. Что достигнуто, благодаря использованию представления пространства решений, в виде симметричного графа и разработки процедуры отсечения неперспективных вариантов с использованием принципа оптимизации по направлению. В работе показано, что данный подход позволяет получить эффективные приближенные алгоритмы решения данной задачи, имеющие полиномиальную временную сложность. При этом погрешность решений, в случае равномерного закона распределения коэффициентов в функционале и ограничениях при числе ограничений больше шестидесяти не превышает 2-6%. Показано, что с увеличением размерности решаемой задачи и числа ограничений в ней погрешность в среднем у предложенных алгоритмов асимптотически уменьшается.