Solving some variants of vehicle routing problem with Branch-and-cut and Column generation algorithms