Professional Documents
Culture Documents
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tugas_Metode_Simplex
{
class LinearProgramming
{
private const int CMAX = 10; //Jumlah variabel maksimum dari fungsi obje
ktif dan fungsi kendala
private const int VMAX = 10; //Jumlah maksimum dari fungsi kendala
static int NC, NV, NOPTIMAL, P1, P2, XERR;
static char A;
static double[,] TS = new double[CMAX, VMAX];
static void Data()
{
double R1, R2;
int I, J;
Console.Write("\n|__________TUGAS SIMPLEX________|\n");
Console.Write("\n NAMA :");
Console.ReadLine();
Console.Write("\n NIM :");
Console.ReadLine();
Console.Write("\n|__________________________________|\n ");
Console.Write("\n| Mencari Nilai Optimal (Maksimal) |\n ");
Console.Write("\n|__________________________________|\n ");
e01:
Console.Write("\n Jumlah variabel dari fungsi tujuan dan fungsi cons
train = ");
NV = int.Parse(Console.ReadLine());
if (NV <= VMAX)
{
e02:
Console.Write("\n Ada berapa fungsi constrain = ");
NC = int.Parse(Console.ReadLine());
if (NC <= CMAX)
{
R1 = 1.0;
Console.Write("\n Koefisien variabel fungsi tujuan : \n");
for (J = 1; J <= NV; J++)
{
Console.Write(" Variabel X(n) = ", J);
R2 = double.Parse(Console.ReadLine());
TS[1, J + 1] = R2 * R1;
}
Console.Write(" Nilai Kanan = ");
R2 = double.Parse(Console.ReadLine());
TS[1, 1] = R2 * R1;
for (I = 1; I <= NC; I++)
{
Console.Write("\n Koefisien variabel fungsi constrain Ke
-{0} : \n", I);
for (J = 1; J <= NV; J++)
{
Console.Write(" Variabel X(n) = ", J);
R2 = double.Parse(Console.ReadLine());
TS[I + 1, J + 1] = -R2;
}
Console.Write(" Nilai Kanan = ");
TS[I + 1, 1] = double.Parse(Console.ReadLine());
}
Console.Write("\n\n Dari fungsi tujuan dan fungsi constrain
tersebut, diperoleh : \n\n");
for (J = 1; J <= NV; J++) TS[0, J + 1] = J;
for (I = NV + 1; I <= NV + NC; I++) TS[I - NV + 1, 0] = I;
}
else
{
Console.Write("\n PERHATIAN!\n")
;
Console.Write("\n ____________________________________
_________________\n");
Console.Write("\n | Fungsi Kendala melebihi batas...!
|\n");
Console.Write("\n | Fungsi Kendala harus kurang dari 9
... |\n");
Console.Write("\n |___________________________________
________________|\n");
goto e02;
}
}
else
{
Console.Write("\n PERHATIAN!\n")
;
Console.Write("\n ________________________________________
_______________________\n");
Console.Write("\n | Variabel fungsi objektif melebihi bata
s...! |\n");
Console.Write("\n | Variabel fungsi objektif harus kurang
dari 9... |\n");
Console.Write("\n |_______________________________________
______________________|\n");
goto e01;
}
}
static void Simplex()
{
e10:
Pivot();
Rumus();
Optimal();
if (NOPTIMAL == 1) goto e10;
}
Console.ReadKey();
}
}
}