From 782f31810cc6cb6e113828ee419cf23373960dd2 Mon Sep 17 00:00:00 2001 From: Zastian Pretorius Date: Mon, 1 Aug 2022 15:53:21 +0100 Subject: [PATCH] creation of DualSimplex --- Program.cs | 6 +- dualSimplex.cs | 223 ++++++++++++++++++ input.txt | 2 +- .../lpr381.csproj.CoreCompileInputs.cache | 2 +- obj/Debug/net6.0/lpr381.dll | Bin 16384 -> 18944 bytes obj/Debug/net6.0/lpr381.pdb | Bin 19240 -> 21480 bytes obj/Debug/net6.0/ref/lpr381.dll | Bin 6144 -> 6656 bytes twoPhaseSimplex.cs | 5 +- 8 files changed, 230 insertions(+), 8 deletions(-) create mode 100644 dualSimplex.cs diff --git a/Program.cs b/Program.cs index 80a681e..7b24a41 100644 --- a/Program.cs +++ b/Program.cs @@ -5,10 +5,12 @@ class lpr381 { //simplex simplex = new simplex(); //simplex.simplexAlgo(); - twoPhaseSimplex twoPhaseSimplex = new twoPhaseSimplex(); - twoPhaseSimplex.twoPhaseSimplexAlgo(); + //twoPhaseSimplex twoPhaseSimplex = new twoPhaseSimplex(); + //twoPhaseSimplex.twoPhaseSimplexAlgo(); //chesssolver chesssolver = new chesssolver(); //chesssolver.chessAlgo(); + dualSimplex dualSimplex = new dualSimplex(); + dualSimplex.dualSimplexAlgo(); } } diff --git a/dualSimplex.cs b/dualSimplex.cs new file mode 100644 index 0000000..6423669 --- /dev/null +++ b/dualSimplex.cs @@ -0,0 +1,223 @@ +using ConsoleTables; + +class dualSimplex +{ + public void dualSimplexAlgo() + { + file file = new file(); + Tuple, List> content = file.readFile(); + List zConstraintsList = content.Item1; + List constraintsList = content.Item2; + + // print constraintsList + foreach (zConstraints constraints in zConstraintsList) + { + Console.WriteLine(constraints.minMax + " " + string.Join(" ", constraints.values)); + } + foreach (Constraints constraints in constraintsList) + { + Console.WriteLine(constraints.sign + " " + string.Join(" ", constraints.values)); + } + List> table = new List>(); + table.Add(zConstraintsList[0].values); + // add all constraints in constraintsList to table + foreach (Constraints constraints in constraintsList) + { + table.Add(constraints.values); + } + List> newTable = new List>(); + + // add all rows in table to newTable + foreach (List row in table) + { + // add all columns in row to newTable without reference to table + List newRow = new List(); + for (int i = 0; i < row.Count; i++) + { + newRow.Add(row[i]); + + } + newTable.Add(newRow); + } + int varCount = newTable[0].Count; + table = prepareTable(newTable, constraintsList); + // print every row in table + printTable(table, varCount); + + } + + + List> prepareTable(List> table, List constraints) + { + List> newTable = new List>(); + foreach (List row in table) + { + List newRow = new List(); + foreach (float value in row) + { + newRow.Add(value); + } + newTable.Add(newRow); + } + List signs = new List(); + foreach (Constraints constraint in constraints) + { + signs.Add(constraint.sign); + } + for (int i = 0; i < signs.Count ; i++) + { + table[0].Add(0); + table[0].Add(0); + + // if sign[i] == "=" copy table[i] to table[i+1] without overwriting table[i+1] + if (signs[i] == "=") + { + List tempRow = new List(); + foreach (float value in table[i+1]) + { + tempRow.Add(value); + } + table.Add(tempRow); + // move last row of table to table[i+2] + for (int j = table.Count - 1; j > i+2; j--) + { + List row = table[j]; + table[j] = table[j-1]; + table[j-1] = row; + } + signs.Add("2="); + for (int j = signs.Count - 1; j > i + 1; j--) + { + string sign = signs[j]; + signs[j] = signs[j-1]; + signs[j-1] = sign; + } + newTable.Insert(i+1, newTable[i+1]); + } + + if (signs[i] == ">=") + { + // multiply table[i+1] by -1 + for (int j = 0; j < table[i+1].Count; j++) + { + table[i+1][j] = table[i+1][j] * -1; + } + } + + // add 3 0s to each row for every column in table + for (int j = 0; j < signs.Count ; j++) + { + if (signs[i] == ">=") + { + // make s = 1 + if (i == j) + { + table[i+1].Add(0); + table[i+1].Add(1); + } + else + { + table[i+1].Add(0); + table[i+1].Add(0); + } + } + else if (signs[i] == "<=") + { + //make e = 1 + if (i == j) + { + table[i+1].Add(-1); + table[i+1].Add(0); + } + else + { + table[i+1].Add(0); + table[i+1].Add(0); + } + } + else if (signs[i] == "=") + { + // make a = 1 + if (i == j) + { + table[i+1].Add(-1); + table[i+1].Add(0); + } + else + { + table[i+1].Add(0); + table[i+1].Add(0); + } + } + else if (signs[i] == "2=") + { + // make a = 1 + if (i == j) + { + table[i+1].Add(0); + table[i+1].Add(1); + } + else + { + table[i+1].Add(0); + table[i+1].Add(0); + } + } + } + } + table[0].Add(0); + + // remove intex newTable.Count-1 from table and place it in the back of table + for (int i = 1; i < table.Count; i++) + { + table[i].RemoveAt(newTable[i].Count-1); + if (signs[i-1] == ">=" || signs[i-1] == "2=") + { + table[i].Add(newTable[i][newTable[i].Count-1] * -1); + } + else + { + table[i].Add(newTable[i][newTable[i].Count-1]); + } + + } + // remove the value of newTable.Count-1 from table[1] and place it in the back of table[1] + return table; + } + + void printTable(List> table, int varCount) + { + int count = 1; + string[] headers = new string[table[0].Count]; + for (int i = 0; i < table[0].Count; i++) + { + if (i < varCount) + { + headers[i] = "x" + (i + 1); + } + else if (i < table[0].Count - 1) + { + headers[i] = "e" + (count); + headers[i+1] = "s" + (count); + i = i + 1; + count++; + } + else + { + headers[i] = "rhs"; + } + } + var conTable = new ConsoleTable(headers); + foreach (List row in table) + { + // convert row to object array + object[] rowArray = new object[row.Count]; + for (int i = 0; i < row.Count; i++) + { + rowArray[i] = row[i]; + } + conTable.AddRow(rowArray); + } + conTable.Write(Format.Alternative); + } +} \ No newline at end of file diff --git a/input.txt b/input.txt index 8840b15..26dcc6e 100644 --- a/input.txt +++ b/input.txt @@ -1,5 +1,5 @@ max +1 +1 -+8 +4 <= 160 ++8 +4 = 160 +4 +4 <= 100 +1 +0 <= 17 +1 +0 >= 5 diff --git a/obj/Debug/net6.0/lpr381.csproj.CoreCompileInputs.cache b/obj/Debug/net6.0/lpr381.csproj.CoreCompileInputs.cache index 393397b..dfdc1a2 100644 --- a/obj/Debug/net6.0/lpr381.csproj.CoreCompileInputs.cache +++ b/obj/Debug/net6.0/lpr381.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -42cc27e0497d325b5a06d599f420fe32fe1e67ba +8c13023fa8aa1aee00b6cf6a6819800d58bb1521 diff --git a/obj/Debug/net6.0/lpr381.dll b/obj/Debug/net6.0/lpr381.dll index c929f158aa5f3b2aa669c787cb5331b09184a4aa..804d884cf49910263d57d5ebc7f981553abe5563 100644 GIT binary patch literal 18944 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 HKnMT;iba-S diff --git a/obj/Debug/net6.0/lpr381.pdb b/obj/Debug/net6.0/lpr381.pdb index c28b4163100ac8a16ff855c274a45a48f98ffabc..b6147dc584b6b3b0aff719eb7901f5a808614e4c 100644 GIT binary patch delta 4822 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 delta 843 zcmZoLX)u`3p)@tVV;%z(JYY~_;AS*nVBlhaU)W@J=njqqe(keRH= zq%%2^(Vy!KCj$e614!lMO^n)%0+a7CsxyjhW@GxrD6qWc->v0sk6hM1I$5`?Q*Fj( zL6-N7Obja~GqMS@vT!mmFiuuvGM^m4reSr4nSnvMj)B2~g@GXj#11Yg%FIhI2Dxbt zI|Bm?0|SF{XfVS9b_NCk5ZgV}(}jV7VFUZ*O>BCCJPZsBAcugYco`TN6nW)QiI0YutP&SlrE|H@>^ zz{tSJz`!WLaEW0fn8yU>t!D)Bn7|GaVCZ3DU~pw%W?*FiIV+U`!ea;X445H2h`S8I zJXUa^3V=yh26hH+u*zt#96JNZ7Xl34%nSw$AW1$3W<>!8Td<+*3<3;l49}TV7}OY~ zm^2vJ7+jdO8Q2&eFzJEF$-x}T+B2Bg7#JA>K#{@FCNYD_5ryZ5%$vNBLz;2Mm_dmFL<%wZF)}lP*vyO|wlkRR3}z>T*~wsb z^W;h{TTUKkP|D$9VB36_HFoYV@CI0FNE(wrQ@XTfMNc_N=YyNsxi vFQbsc=Iwlfj6!ofA?iWoHW1rkqM{h%ipd}O3peu#{bFT0VF^yv6Ajn_y5gLP diff --git a/twoPhaseSimplex.cs b/twoPhaseSimplex.cs index 411935b..8f2bd01 100644 --- a/twoPhaseSimplex.cs +++ b/twoPhaseSimplex.cs @@ -286,7 +286,7 @@ class twoPhaseSimplex return table; } - static int findPivotCol(List> table) + static int findPivotCol(List> table) { float largest = 0; int largestIndex = 0; @@ -428,8 +428,5 @@ class twoPhaseSimplex } } return table; - } - - } \ No newline at end of file