Big-M Method Implementation in Java
Suppose, we have: 
 Maximize z = x1 + 5x2 
 subject to: 
 3x1 + 4x2 ≤ 6 
 x1 + 3x2 ≥ 2 
 x1, x2 ≥ 0 
If you want to solve this problem then, simply run the big_m_method.java code and enter values in console as same as below: 
Choose Problem Type: 
 1) Maximization Problem 
 2) Minimization Problem 
 Enter chosen type: 1 
 Enter No. of variables: 2 
 Enter No. of constraints: 2 
 Enter coefficients of Objective Function: 
 Enter the value of x1: 1 
 Enter the value of x2: 5 
 Enter LHS coefficients of constraints(1) : 
 Enter the value of x1: 3 
 Enter the value of x2: 4 
 Choose Inequality option: 
 1) ≤ 
 2) ≥ 
 3) = 
 Enter chosen option: 1 
 Enter RHS coefficient of constraints(1) : 6 
 Enter LHS coefficients of constraints(2) : 
 Enter the value of x1: 1 
 Enter the value of x2: 3 
 Choose Inequality option: 
 1) ≤ 
 2) ≥ 
 3) = 
 Enter chosen option: 2 
 Enter RHS coefficient of constraints(2) : 2 
************ Iteration - 1 ************ 
 Incoming Variable is: x2 
 Outgoing Variable is: a1 
************ Iteration - 2 ************ 
 Incoming Variable is: s2 
 Outgoing Variable is: s1 
Final table: [[1.2499999, 0.0, 0.75, 1.0, -1.0], [0.75, 1.0, 0.25, 0.0, 0.0]] 
#Note: s1 is a slack variable, s2 is a surplus variable & a1 is an artificial variable. 
*************** Basic Feasible Solution: ********************* 
 The value of x1 is: 0 
 The value of x2 is: 1.5 
 The value of s1 is: 0 
 The value of s2 is: 2.4999998 
 The value of a1 is: 0 
 The value of Z_max is: 7.5 
Process finished with exit code 0