diff --git a/data/6f4s.lp b/data/6f4s.lp new file mode 100644 index 0000000000000000000000000000000000000000..4e200ae163cdb2edd0cf5cc43a13004e5060ed6d --- /dev/null +++ b/data/6f4s.lp @@ -0,0 +1,124 @@ +Minimize + obj: +1 x_{1}_{0} +15 x_{1}_{15} +30 x_{1}_{30} +45 x_{1}_{45} +60 x_{1}_{60} +75 x_{1}_{75} +90 x_{1}_{90} +105 x_{1}_{105} +120 x_{1}_{120} + +0 x_{2}_{0} +15 x_{2}_{15} +30 x_{2}_{30} +45 x_{2}_{45} +60 x_{2}_{60} +75 x_{2}_{75} +90 x_{2}_{90} +105 x_{2}_{105} +120 x_{2}_{120} + +0 x_{3}_{0} +15 x_{3}_{15} +30 x_{3}_{30} +45 x_{3}_{45} +60 x_{3}_{60} +75 x_{3}_{75} +90 x_{3}_{90} +105 x_{3}_{105} +120 x_{3}_{120} + +0 x_{4}_{0} +15 x_{4}_{15} +30 x_{4}_{30} +45 x_{4}_{45} +60 x_{4}_{60} +75 x_{4}_{75} +90 x_{4}_{90} +105 x_{4}_{105} +120 x_{4}_{120} + +0 x_{5}_{0} +15 x_{5}_{15} +30 x_{5}_{30} +45 x_{5}_{45} +60 x_{5}_{60} +75 x_{5}_{75} +90 x_{5}_{90} +105 x_{5}_{105} +120 x_{5}_{120} + +0 x_{6}_{0} +15 x_{6}_{15} +30 x_{6}_{30} +45 x_{6}_{45} +60 x_{6}_{60} +75 x_{6}_{75} +90 x_{6}_{90} +105 x_{6}_{105} +120 x_{6}_{120} + +Subject To + + slot1: x_{1}_{0} + x_{2}_{0} <= 1 + slot2: x_{1}_{15} + x_{2}_{15} <= 1 + slot3: x_{1}_{30} + x_{2}_{30} <= 1 + slot4: x_{1}_{45} + x_{2}_{45} <= 1 + slot5: x_{1}_{60} + x_{2}_{60} <= 1 + slot6: x_{1}_{75} + x_{2}_{75} <= 1 + slot7: x_{1}_{90} + x_{2}_{90} <= 1 + slot8: x_{1}_{105} + x_{2}_{105} <= 1 + slot9: x_{1}_{120} + x_{2}_{120} <= 1 + slot10: x_{2}_{0} + x_{3}_{0} + x_{4}_{0} <= 1 + slot11: x_{2}_{15} + x_{3}_{15} + x_{4}_{15} <= 1 + slot12: x_{2}_{30} + x_{3}_{30} + x_{4}_{30} <= 1 + slot13: x_{2}_{45} + x_{3}_{45} + x_{4}_{45} <= 1 + slot14: x_{2}_{60} + x_{3}_{60} + x_{4}_{60} <= 1 + slot15: x_{2}_{75} + x_{3}_{75} + x_{4}_{75} <= 1 + slot16: x_{2}_{90} + x_{3}_{90} + x_{4}_{90} <= 1 + slot17: x_{2}_{105} + x_{3}_{105} + x_{4}_{105} <= 1 + slot18: x_{2}_{120} + x_{3}_{120} + x_{4}_{120} <= 1 + slot19: x_{1}_{0} + x_{3}_{0} + x_{5}_{0} <= 1 + slot20: x_{1}_{15} + x_{3}_{15} + x_{5}_{15} <= 1 + slot21: x_{1}_{30} + x_{3}_{30} + x_{5}_{30} <= 1 + slot22: x_{1}_{45} + x_{3}_{45} + x_{5}_{45} <= 1 + slot23: x_{1}_{60} + x_{3}_{60} + x_{5}_{60} <= 1 + slot24: x_{1}_{75} + x_{3}_{75} + x_{5}_{75} <= 1 + slot25: x_{1}_{90} + x_{3}_{90} + x_{5}_{90} <= 1 + slot26: x_{1}_{105} + x_{3}_{105}+ x_{5}_{105}<= 1 + slot27: x_{1}_{120} + x_{3}_{120} + x_{5}_{120} <= 1 + slot28: x_{5}_{0} + x_{6}_{0} + x_{4}_{0} <= 1 + slot29: x_{5}_{15} + x_{6}_{15} + x_{4}_{15} <= 1 + slot30: x_{5}_{30} + x_{6}_{30} + x_{4}_{30} <= 1 + slot32: x_{5}_{45} + x_{6}_{45} + x_{4}_{45} <= 1 + slot33: x_{5}_{60} + x_{6}_{60} + x_{4}_{60} <= 1 + slot34: x_{5}_{75} + x_{6}_{75} + x_{4}_{75} <= 1 + slot35: x_{5}_{90} + x_{6}_{90} + x_{4}_{90} <= 1 + slot36: x_{5}_{105} + x_{6}_{105} + x_{4}_{105}<= 1 + slot37: x_{5}_{120} + x_{6}_{120} + x_{4}_{120} <= 1 + + F_1: x_{1}_{0} + x_{1}_{15} + x_{1}_{30} + x_{1}_{45} + x_{1}_{60} + x_{1}_{75} + x_{1}_{90} + x_{1}_{105} + x_{1}_{120} = 1 + F_2: x_{2}_{0} + x_{2}_{15} + x_{2}_{30} + x_{2}_{45} + x_{2}_{60} + x_{2}_{75} + x_{2}_{90} + x_{2}_{105} + x_{2}_{120} = 1 + F_3: x_{3}_{0} + x_{3}_{15} + x_{3}_{30} + x_{3}_{45} + x_{3}_{60} + x_{3}_{75} + x_{3}_{90} + x_{3}_{105} + x_{3}_{120} = 1 + F_4: x_{4}_{0} + x_{4}_{15} + x_{4}_{30} + x_{4}_{45} + x_{4}_{60} + x_{4}_{75} + x_{4}_{90} + x_{4}_{105} + x_{4}_{120} = 1 + F_5: x_{5}_{0} + x_{5}_{15} + x_{5}_{30} + x_{5}_{45} + x_{5}_{60} + x_{5}_{75} + x_{5}_{90} + x_{5}_{105} + x_{5}_{120} = 1 + F_6: x_{6}_{0} + x_{6}_{15} + x_{6}_{30} + x_{6}_{45} + x_{6}_{60} + x_{6}_{75} + x_{6}_{90} + x_{6}_{105} + x_{6}_{120} = 1 + +Bounds + 0 <= x_{1}_{0} <= 1 + 0 <= x_{1}_{15} <= 1 + 0 <= x_{1}_{30} <= 1 + 0 <= x_{1}_{45} <= 1 + 0 <= x_{1}_{60} <= 1 + 0 <= x_{1}_{75} <= 1 + 0 <= x_{1}_{90} <= 1 + 0 <= x_{1}_{105} <= 1 + 0 <= x_{1}_{120} <= 1 + + 0 <= x_{2}_{0} <= 1 + 0 <= x_{2}_{15} <= 1 + 0 <= x_{2}_{30} <= 1 + 0 <= x_{2}_{45} <= 1 + 0 <= x_{2}_{60} <= 1 + 0 <= x_{2}_{75} <= 1 + 0 <= x_{2}_{90} <= 1 + 0 <= x_{2}_{105} <= 1 + 0 <= x_{2}_{120} <= 1 + + 0 <= x_{3}_{0} <= 1 + 0 <= x_{3}_{15} <= 1 + 0 <= x_{3}_{30} <= 1 + 0 <= x_{3}_{45} <= 1 + 0 <= x_{3}_{60} <= 1 + 0 <= x_{3}_{75} <= 1 + 0 <= x_{3}_{90} <= 1 + 0 <= x_{3}_{105} <= 1 + 0 <= x_{3}_{120} <= 1 + + 0 <= x_{4}_{0} <= 1 + 0 <= x_{4}_{15} <= 1 + 0 <= x_{4}_{30} <= 1 + 0 <= x_{4}_{45} <= 1 + 0 <= x_{4}_{60} <= 1 + 0 <= x_{4}_{75} <= 1 + 0 <= x_{4}_{90} <= 1 + 0 <= x_{4}_{105} <= 1 + 0 <= x_{4}_{120} <= 1 + + 0 <= x_{5}_{0} <= 1 + 0 <= x_{5}_{15} <= 1 + 0 <= x_{5}_{30} <= 1 + 0 <= x_{5}_{45} <= 1 + 0 <= x_{5}_{60} <= 1 + 0 <= x_{5}_{75} <= 1 + 0 <= x_{5}_{90} <= 1 + 0 <= x_{5}_{105} <= 1 + 0 <= x_{5}_{120} <= 1 + + 0 <= x_{6}_{0} <= 1 + 0 <= x_{6}_{15} <= 1 + 0 <= x_{6}_{30} <= 1 + 0 <= x_{6}_{45} <= 1 + 0 <= x_{6}_{60} <= 1 + 0 <= x_{6}_{75} <= 1 + 0 <= x_{6}_{90} <= 1 + 0 <= x_{6}_{105} <= 1 + 0 <= x_{6}_{120} <= 1 +Binaries + x_{1}_{0} x_{1}_{15} x_{1}_{30} x_{1}_{45} x_{1}_{60} x_{1}_{75} x_{1}_{90} x_{1}_{105} x_{1}_{120} + x_{2}_{0} x_{2}_{15} x_{2}_{30} x_{2}_{45} x_{2}_{60} x_{2}_{75} x_{2}_{90} x_{2}_{105} x_{2}_{120} + x_{3}_{0} x_{3}_{15} x_{3}_{30} x_{3}_{45} x_{3}_{60} x_{3}_{75} x_{3}_{90} x_{3}_{105} x_{3}_{120} + x_{4}_{0} x_{4}_{15} x_{4}_{30} x_{4}_{45} x_{4}_{60} x_{4}_{75} x_{4}_{90} x_{4}_{105} x_{4}_{120} + x_{5}_{0} x_{5}_{15} x_{5}_{30} x_{5}_{45} x_{5}_{60} x_{5}_{75} x_{5}_{90} x_{5}_{105} x_{5}_{120} + x_{6}_{0} x_{6}_{15} x_{6}_{30} x_{6}_{45} x_{6}_{60} x_{6}_{75} x_{6}_{90} x_{6}_{105} x_{6}_{120} + + +End diff --git a/data/Screenshot (293).png b/data/Screenshot (293).png new file mode 100644 index 0000000000000000000000000000000000000000..967b3d0a8c1e64c872661f9a472458be8a080ba0 Binary files /dev/null and b/data/Screenshot (293).png differ diff --git a/data/lagr steps.txt b/data/lagr steps.txt new file mode 100644 index 0000000000000000000000000000000000000000..7c4bb1528b802200514b1d531e9093ef808c6b5d --- /dev/null +++ b/data/lagr steps.txt @@ -0,0 +1,26 @@ + //1. get the variables, their name, thier location, and their number, and their value. + //2. get the rows of the capacity constraint, A. + //3. get the rows of the departure constraint. + //4. initialize the lagrangian multiplier, lambda, array. + //5. reformulate the objective function + // 5.1. subtract the AX by the unit vector 1. + // 5.2. Multiply each row by the respective lambda entry and sum it all up + + /*Things i need for optimizing using the Lagrangian Relaxation. + 6. there are different kinds of Subgradient search methods. + 6.1. Classic Subgradient search + 6.2. Volume Algorithm + 6.3. Static Converging Series, + 6.4. Dynamic Converging Series, + 6.5. Bundle dynamic Convergent series + create an iteration of the lambda using the formula, {lambda}^k={lambda}^(k-1)+S^k*g^k/||g^k|| + where + {lambda}^k, k from 0 to N is the sequence of the lagrangian multiplier of the function + {lambda}^0 is the starting multiplier + 7. create a maximization problem for the problem at 5, with respect to lambda. + 8. Optimize. + 9. Display the stat and analyze the LB, and the time it requires + 9.1. Comparing it with the LP relaxation results. + 9.2. comparing the values among the different methods. + */ + /* \ No newline at end of file diff --git a/data/reformulation.png b/data/reformulation.png new file mode 100644 index 0000000000000000000000000000000000000000..ba7871a841997231595039f693b14783399b288b Binary files /dev/null and b/data/reformulation.png differ diff --git a/data/reformulaton 2.png b/data/reformulaton 2.png new file mode 100644 index 0000000000000000000000000000000000000000..bc3d71f307133f0c6957f03f24b6bfbd2d2b7bcd Binary files /dev/null and b/data/reformulaton 2.png differ diff --git a/data/sim3.lp b/data/sim3.lp new file mode 100644 index 0000000000000000000000000000000000000000..b5edd7ee106b1f21c685293fba385d3df53c498f --- /dev/null +++ b/data/sim3.lp @@ -0,0 +1,20 @@ +Minimize + obj: +2 x_1 +8 x_2 + 4 x_3 + +Subject To + + c1: x_1 + x_2 <= 1 + c2: x_3 + x_2 <= 1 + c3: x_1 + x_3 <= 1 + F1: x_1 + x_2 + x_3 = 1 + +Bounds + 0 <= x_1 <= 1 + 0 <= x_2 <= 1 + 0 <= x_3 <= 1 + +Binaries + x_1 + x_2 + x_3 +End