non linear programming projects