diff --git a/Code/.idea/.gitignore b/Code/.idea/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..26d33521af10bcc7fd8cea344038eaaeb78d0ef5
--- /dev/null
+++ b/Code/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/Code/.idea/libraries/jgrapht_core.xml b/Code/.idea/libraries/jgrapht_core.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1e9cf5298d3e1e87d0c184a2a8a825a718f4486e
--- /dev/null
+++ b/Code/.idea/libraries/jgrapht_core.xml
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+  <library name="jgrapht.core" type="repository">
+    <properties maven-id="org.jgrapht:jgrapht-core:1.4.0" />
+    <CLASSES>
+      <root url="jar://$MAVEN_REPOSITORY$/org/jgrapht/jgrapht-core/1.4.0/jgrapht-core-1.4.0.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jheaps/jheaps/0.11/jheaps-0.11.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>
\ No newline at end of file
diff --git a/Code/.idea/misc.xml b/Code/.idea/misc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7d862fbd381b6ec88059c0997b10c728994b68f6
--- /dev/null
+++ b/Code/.idea/misc.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="corretto-11" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/Code/.idea/modules.xml b/Code/.idea/modules.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f9b4ee24a70767a30df825154b8017fdeee25629
--- /dev/null
+++ b/Code/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/Code.iml" filepath="$PROJECT_DIR$/Code.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/Code/.idea/uiDesigner.xml b/Code/.idea/uiDesigner.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2b63946d5b31084bbb7dda418ceb3d75eb686373
--- /dev/null
+++ b/Code/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Palette2">
+    <group name="Swing">
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+      </item>
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+        <initial-values>
+          <property name="text" value="Button" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="RadioButton" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="CheckBox" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="Label" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+          <preferred-size width="-1" height="20" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+      </item>
+    </group>
+  </component>
+</project>
\ No newline at end of file
diff --git a/Code/Code.iml b/Code/Code.iml
new file mode 100644
index 0000000000000000000000000000000000000000..0d50060a3c872e77f794e313bbd1af20b64338a9
--- /dev/null
+++ b/Code/Code.iml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../Simulateurs/iFogSim2/iFogSim/jars/gurobi.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../Simulateurs/iFogSim2/iFogSim/jars/javailp-1.2a.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="file://$MODULE_DIR$/../../../Simulateurs/iFogSim2/iFogSim/jars/commons-math3-3.5" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+        <jarDirectory url="file://$MODULE_DIR$/../../../Simulateurs/iFogSim2/iFogSim/jars/commons-math3-3.5" recursive="false" />
+      </library>
+    </orderEntry>
+    <orderEntry type="library" name="jgrapht.core" level="project" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/Code/gurobi.log b/Code/gurobi.log
new file mode 100644
index 0000000000000000000000000000000000000000..de6ac2cd602eda4954c3c05b61a50697af0f6758
--- /dev/null
+++ b/Code/gurobi.log
@@ -0,0 +1,9017 @@
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:42 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:43 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:44 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:45 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:46 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:46 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:47 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:47 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:47 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:48 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:48 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:49 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:49 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:50 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:50 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:50 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:51 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:51 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:52 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:52 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:52 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:53 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:53 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:53 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:53 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:54 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:54 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:54 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:55 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:55 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:55 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:55 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:56 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:56 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:57 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:57 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:57 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:58 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:58 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:58 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:58 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:59 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:59 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:59 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:59 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:27:59 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:00 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:00 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:00 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:00 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:00 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:00 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:01 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:01 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:01 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:01 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:01 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:01 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:02 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:02 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:02 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:02 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:02 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:02 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:03 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:03 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:03 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:03 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:03 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:04 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:04 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:04 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:04 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:04 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:05 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:05 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:05 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:05 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:05 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:05 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:06 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:06 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:06 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:06 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:06 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:07 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:07 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:07 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:07 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:07 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:07 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:08 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:08 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:08 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:08 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:08 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:09 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:09 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:09 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:09 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:09 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:10 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:10 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:10 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:10 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:10 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:11 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:28:11 2024
+
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:47:51 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x48c622f9
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.08s
+
+Explored 0 nodes (0 simplex iterations) in 0.13 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:47:52 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x48c622f9
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.15 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:47:54 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x315081c9
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.07s
+
+Explored 0 nodes (0 simplex iterations) in 0.14 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:47:55 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x315081c9
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.08s
+
+Explored 0 nodes (0 simplex iterations) in 0.15 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:47:56 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xda1d9508
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.15 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:47:57 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xda1d9508
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.17 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:47:58 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x54319f3a
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.16s
+
+Explored 0 nodes (0 simplex iterations) in 0.32 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 14:47:59 2024
+
+Academic license - for non-commercial use only
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:13 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x48c622f9
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.17 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:15 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x48c622f9
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.08s
+
+Explored 0 nodes (0 simplex iterations) in 0.16 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:17 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x315081c9
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.16 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:18 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x315081c9
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.08s
+
+Explored 0 nodes (0 simplex iterations) in 0.15 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:19 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xda1d9508
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.16 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:20 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xda1d9508
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.16 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:21 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x54319f3a
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.16 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:22 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x54319f3a
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.08s
+
+Explored 0 nodes (0 simplex iterations) in 0.16 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:23 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x671e62fe
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.15 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:24 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x671e62fe
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.16 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:25 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xa38f2e5f
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [4e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.08s
+
+Explored 0 nodes (0 simplex iterations) in 0.16 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:25 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xa38f2e5f
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [4e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.16 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:26 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x9af763dc
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [4e+01, 6e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.08s
+
+Explored 0 nodes (0 simplex iterations) in 0.16 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:27 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x9af763dc
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [4e+01, 6e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.16 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:28 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xf8c853c5
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [4e+01, 8e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.08s
+
+Explored 0 nodes (0 simplex iterations) in 0.15 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:29 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xf8c853c5
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [4e+01, 8e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.16 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:30 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x9bb0a40b
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 4e+04]
+  Objective range  [4e+01, 1e+05]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4428 rows and 3176 columns
+Presolve time: 0.08s
+
+Explored 0 nodes (0 simplex iterations) in 0.17 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:30 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x9bb0a40b
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 4e+04]
+  Objective range  [4e+01, 1e+05]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4428 rows and 3176 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.18 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:31 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85593 nonzeros
+Model fingerprint: 0xa135b765
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 4e+04]
+  Objective range  [4e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4362 rows and 3646 columns
+Presolve time: 0.06s
+
+Explored 0 nodes (0 simplex iterations) in 0.13 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:32 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85593 nonzeros
+Model fingerprint: 0xa135b765
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 4e+04]
+  Objective range  [4e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4362 rows and 3646 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.16 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:33 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85609 nonzeros
+Model fingerprint: 0x8b932602
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 4e+04]
+  Objective range  [5e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4378 rows and 4120 columns
+Presolve time: 0.06s
+
+Explored 0 nodes (0 simplex iterations) in 0.12 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:33 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85609 nonzeros
+Model fingerprint: 0x8b932602
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 4e+04]
+  Objective range  [5e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4378 rows and 4120 columns
+Presolve time: 0.06s
+
+Explored 0 nodes (0 simplex iterations) in 0.12 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:34 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xaf4adb34
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.13s
+
+Explored 0 nodes (0 simplex iterations) in 0.19 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:35 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xaf4adb34
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.08s
+
+Explored 0 nodes (0 simplex iterations) in 0.14 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:36 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x28039bbc
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.07s
+
+Explored 0 nodes (0 simplex iterations) in 0.13 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:36 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x28039bbc
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.06s
+
+Explored 0 nodes (0 simplex iterations) in 0.14 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:37 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xd60673db
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.11s
+
+Explored 0 nodes (0 simplex iterations) in 0.18 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:38 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xd60673db
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.07s
+
+Explored 0 nodes (0 simplex iterations) in 0.13 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:39 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xfa097477
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.07s
+
+Explored 0 nodes (0 simplex iterations) in 0.13 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:39 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xfa097477
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.07s
+
+Explored 0 nodes (0 simplex iterations) in 0.15 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:40 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xc20e5e13
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.12s
+
+Explored 0 nodes (0 simplex iterations) in 0.19 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:41 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xc20e5e13
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.06s
+
+Explored 0 nodes (0 simplex iterations) in 0.12 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:42 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x46e29f20
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.16 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:42 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x46e29f20
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.08s
+
+Explored 0 nodes (0 simplex iterations) in 0.15 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:43 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x5d97937e
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [4e+01, 6e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.16 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:44 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x5d97937e
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [4e+01, 6e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.07s
+
+Explored 0 nodes (0 simplex iterations) in 0.14 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:44 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x8dd9689c
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 3e+02]
+  Objective range  [4e+01, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.06s
+
+Explored 0 nodes (0 simplex iterations) in 0.13 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:45 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0x8dd9689c
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 3e+02]
+  Objective range  [4e+01, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.08s
+
+Explored 0 nodes (0 simplex iterations) in 0.13 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:46 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85585 nonzeros
+Model fingerprint: 0x3abfb53a
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 4e+04]
+  Objective range  [4e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4354 rows and 3326 columns
+Presolve time: 0.06s
+
+Explored 0 nodes (0 simplex iterations) in 0.12 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:46 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85585 nonzeros
+Model fingerprint: 0x3abfb53a
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 4e+04]
+  Objective range  [4e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4354 rows and 3326 columns
+Presolve time: 0.06s
+
+Explored 0 nodes (0 simplex iterations) in 0.13 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:47 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85593 nonzeros
+Model fingerprint: 0x3bca734d
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 4e+04]
+  Objective range  [5e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4362 rows and 3690 columns
+Presolve time: 0.07s
+
+Explored 0 nodes (0 simplex iterations) in 0.13 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:47 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85593 nonzeros
+Model fingerprint: 0x3bca734d
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 4e+04]
+  Objective range  [5e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4362 rows and 3690 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.14 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:48 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85597 nonzeros
+Model fingerprint: 0x6d5fce7a
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 4e+04]
+  Objective range  [1e+02, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4366 rows and 4020 columns
+Presolve time: 0.06s
+
+Explored 0 nodes (0 simplex iterations) in 0.13 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:48 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85597 nonzeros
+Model fingerprint: 0x6d5fce7a
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 4e+04]
+  Objective range  [1e+02, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4366 rows and 4020 columns
+Presolve time: 0.06s
+
+Explored 0 nodes (0 simplex iterations) in 0.12 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:49 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xe9dff1b8
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.05s
+
+Explored 0 nodes (0 simplex iterations) in 0.11 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:50 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xe9dff1b8
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.07s
+
+Explored 0 nodes (0 simplex iterations) in 0.12 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:50 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xf8c376c3
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.09s
+
+Explored 0 nodes (0 simplex iterations) in 0.16 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:51 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xf8c376c3
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.10s
+
+Explored 0 nodes (0 simplex iterations) in 0.19 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:52 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xb84d54ee
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.08s
+
+Explored 0 nodes (0 simplex iterations) in 0.17 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:05:52 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 5332 rows, 4278 columns and 85581 nonzeros
+Model fingerprint: 0xb84d54ee
+Variable types: 0 continuous, 4278 integer (2162 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 2e+02]
+  Objective range  [3e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 4416 rows and 3152 columns
+Presolve time: 0.16s
+
+Explored 0 nodes (0 simplex iterations) in 0.26 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:45 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x9f27c4df
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.612127e+02, 91 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  361.21268    0   14          -  361.21268      -     -    0s
+     0     0  445.70080    0   30          -  445.70080      -     -    0s
+     0     0  446.20384    0   20          -  446.20384      -     -    0s
+     0     0  446.95771    0   35          -  446.95771      -     -    0s
+     0     0  467.98069    0   28          -  467.98069      -     -    0s
+     0     0  468.22258    0   29          -  468.22258      -     -    0s
+     0     0  618.26001    0   33          -  618.26001      -     -    0s
+     0     0  618.26001    0   33          -  618.26001      -     -    0s
+     0     0  684.01168    0   36          -  684.01168      -     -    0s
+     0     0  687.96070    0   36          -  687.96070      -     -    0s
+H    0     0                     777.4852859  687.96070  11.5%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 11
+  StrongCG: 2
+  Flow cover: 10
+  Zero half: 1
+  RLT: 3
+  Relax-and-lift: 1
+
+Explored 1 nodes (212 simplex iterations) in 0.47 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 777.485 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.774852859196e+02, best bound 7.774852859196e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:46 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x9f27c4df
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.612127e+02, 91 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  361.21268    0   14          -  361.21268      -     -    0s
+     0     0  445.70080    0   30          -  445.70080      -     -    0s
+     0     0  446.20384    0   20          -  446.20384      -     -    0s
+     0     0  446.95771    0   35          -  446.95771      -     -    0s
+     0     0  467.98069    0   28          -  467.98069      -     -    0s
+     0     0  468.22258    0   29          -  468.22258      -     -    0s
+     0     0  618.26001    0   33          -  618.26001      -     -    0s
+     0     0  618.26001    0   33          -  618.26001      -     -    0s
+     0     0  684.01168    0   36          -  684.01168      -     -    0s
+     0     0  687.96070    0   36          -  687.96070      -     -    0s
+H    0     0                     777.4852859  687.96070  11.5%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 11
+  StrongCG: 2
+  Flow cover: 10
+  Zero half: 1
+  RLT: 3
+  Relax-and-lift: 1
+
+Explored 1 nodes (212 simplex iterations) in 0.45 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 777.485 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.774852859196e+02, best bound 7.774852859196e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:47 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xa1887ec7
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.631469e+02, 86 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  363.14695    0   14          -  363.14695      -     -    0s
+     0     0  447.74726    0   34          -  447.74726      -     -    0s
+     0     0  448.74355    0   34          -  448.74355      -     -    0s
+     0     0  448.99477    0   34          -  448.99477      -     -    0s
+     0     0  467.28964    0   25          -  467.28964      -     -    0s
+     0     0  467.31618    0   25          -  467.31618      -     -    0s
+     0     0  589.70129    0   30          -  589.70129      -     -    0s
+     0     0  594.55652    0   32          -  594.55652      -     -    0s
+     0     0  594.55652    0   31          -  594.55652      -     -    0s
+     0     0  616.90013    0   31          -  616.90013      -     -    0s
+     0     0  616.90013    0   33          -  616.90013      -     -    0s
+H    0     0                     985.6827395  616.90013  37.4%     -    0s
+H    0     0                     777.0967571  616.90013  20.6%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 16
+  StrongCG: 1
+  Flow cover: 5
+  Zero half: 2
+  Mod-K: 2
+  RLT: 2
+
+Explored 1 nodes (211 simplex iterations) in 0.42 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 777.097 985.683 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.770967571098e+02, best bound 7.770967571098e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:47 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xa1887ec7
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.631469e+02, 86 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  363.14695    0   14          -  363.14695      -     -    0s
+     0     0  447.74726    0   34          -  447.74726      -     -    0s
+     0     0  448.74355    0   34          -  448.74355      -     -    0s
+     0     0  448.99477    0   34          -  448.99477      -     -    0s
+     0     0  467.28964    0   25          -  467.28964      -     -    0s
+     0     0  467.31618    0   25          -  467.31618      -     -    0s
+     0     0  589.70129    0   30          -  589.70129      -     -    0s
+     0     0  594.55652    0   32          -  594.55652      -     -    0s
+     0     0  594.55652    0   31          -  594.55652      -     -    0s
+     0     0  616.90013    0   31          -  616.90013      -     -    0s
+     0     0  616.90013    0   33          -  616.90013      -     -    0s
+H    0     0                     985.6827395  616.90013  37.4%     -    0s
+H    0     0                     777.0967571  616.90013  20.6%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 16
+  StrongCG: 1
+  Flow cover: 5
+  Zero half: 2
+  Mod-K: 2
+  RLT: 2
+
+Explored 1 nodes (211 simplex iterations) in 0.41 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 777.097 985.683 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.770967571098e+02, best bound 7.770967571098e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:47 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x8264b64e
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.669926e+02, 91 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  366.99259    0   14          -  366.99259      -     -    0s
+     0     0  454.81034    0   26          -  454.81034      -     -    0s
+     0     0  455.32449    0   20          -  455.32449      -     -    0s
+     0     0  455.86124    0   35          -  455.86124      -     -    0s
+     0     0  476.81381    0   26          -  476.81381      -     -    0s
+     0     0  480.81179    0   26          -  480.81179      -     -    0s
+     0     0  482.50283    0   29          -  482.50283      -     -    0s
+     0     0  622.05385    0   41          -  622.05385      -     -    0s
+     0     0  622.05385    0   41          -  622.05385      -     -    0s
+     0     0  622.05385    0   30          -  622.05385      -     -    0s
+H    0     0                     814.1555193  622.05385  23.6%     -    0s
+H    0     0                     782.4647174  622.05385  20.5%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 15
+  StrongCG: 1
+  Flow cover: 9
+  GUB cover: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 3
+
+Explored 1 nodes (256 simplex iterations) in 0.43 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 782.465 814.156 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.824647173694e+02, best bound 7.824647173694e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:48 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x8264b64e
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.669926e+02, 91 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  366.99259    0   14          -  366.99259      -     -    0s
+     0     0  454.81034    0   26          -  454.81034      -     -    0s
+     0     0  455.32449    0   20          -  455.32449      -     -    0s
+     0     0  455.86124    0   35          -  455.86124      -     -    0s
+     0     0  476.81381    0   26          -  476.81381      -     -    0s
+     0     0  480.81179    0   26          -  480.81179      -     -    0s
+     0     0  482.50283    0   29          -  482.50283      -     -    0s
+     0     0  622.05385    0   41          -  622.05385      -     -    0s
+     0     0  622.05385    0   41          -  622.05385      -     -    0s
+     0     0  622.05385    0   30          -  622.05385      -     -    0s
+H    0     0                     814.1555193  622.05385  23.6%     -    0s
+H    0     0                     782.4647174  622.05385  20.5%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 15
+  StrongCG: 1
+  Flow cover: 9
+  GUB cover: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 3
+
+Explored 1 nodes (256 simplex iterations) in 0.43 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 782.465 814.156 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.824647173694e+02, best bound 7.824647173694e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:48 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xe9a197c9
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.735041e+02, 97 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  373.50407    0   14          -  373.50407      -     -    0s
+     0     0  457.64418    0   29          -  457.64418      -     -    0s
+     0     0  458.43041    0   33          -  458.43041      -     -    0s
+     0     0  459.32719    0   34          -  459.32719      -     -    0s
+     0     0  459.37579    0   34          -  459.37579      -     -    0s
+H    0     0                     790.8262513  459.37579  41.9%     -    0s
+     0     0  495.37323    0   27  790.82625  495.37323  37.4%     -    0s
+     0     0  499.12085    0   28  790.82625  499.12085  36.9%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 16
+  Flow cover: 12
+  Inf proof: 2
+  Zero half: 3
+  Mod-K: 3
+  RLT: 2
+
+Explored 1 nodes (162 simplex iterations) in 0.28 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 790.826 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.908262512524e+02, best bound 7.908262512524e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:49 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xe9a197c9
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.735041e+02, 97 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  373.50407    0   14          -  373.50407      -     -    0s
+     0     0  457.64418    0   29          -  457.64418      -     -    0s
+     0     0  458.43041    0   33          -  458.43041      -     -    0s
+     0     0  459.32719    0   34          -  459.32719      -     -    0s
+     0     0  459.37579    0   34          -  459.37579      -     -    0s
+H    0     0                     790.8262513  459.37579  41.9%     -    0s
+     0     0  495.37323    0   27  790.82625  495.37323  37.4%     -    0s
+     0     0  499.12085    0   28  790.82625  499.12085  36.9%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 16
+  Flow cover: 12
+  Inf proof: 2
+  Zero half: 3
+  Mod-K: 3
+  RLT: 2
+
+Explored 1 nodes (162 simplex iterations) in 0.29 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 790.826 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.908262512524e+02, best bound 7.908262512524e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:49 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x7f8d7a00
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.769709e+02, 94 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  376.97085    0   14          -  376.97085      -     -    0s
+     0     0  462.98331    0   30          -  462.98331      -     -    0s
+     0     0  463.49240    0   32          -  463.49240      -     -    0s
+     0     0  463.92382    0   34          -  463.92382      -     -    0s
+     0     0  489.82122    0   31          -  489.82122      -     -    0s
+     0     0  491.01412    0   30          -  491.01412      -     -    0s
+H    0     0                     819.0298409  491.01412  40.0%     -    0s
+H    0     0                     793.8472735  491.01412  38.1%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  MIR: 15
+  StrongCG: 1
+  Flow cover: 11
+  Inf proof: 1
+  RLT: 3
+
+Explored 1 nodes (177 simplex iterations) in 0.45 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 793.847 819.03 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.938472734776e+02, best bound 7.938472734776e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:50 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x7f8d7a00
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.769709e+02, 94 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  376.97085    0   14          -  376.97085      -     -    0s
+     0     0  462.98331    0   30          -  462.98331      -     -    0s
+     0     0  463.49240    0   32          -  463.49240      -     -    0s
+     0     0  463.92382    0   34          -  463.92382      -     -    0s
+     0     0  489.82122    0   31          -  489.82122      -     -    0s
+     0     0  491.01412    0   30          -  491.01412      -     -    0s
+H    0     0                     819.0298409  491.01412  40.0%     -    0s
+H    0     0                     793.8472735  491.01412  38.1%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  MIR: 15
+  StrongCG: 1
+  Flow cover: 11
+  Inf proof: 1
+  RLT: 3
+
+Explored 1 nodes (177 simplex iterations) in 0.33 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 793.847 819.03 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.938472734776e+02, best bound 7.938472734776e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:50 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x47f74b14
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.06s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.965968e+02, 87 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  396.59685    0   14          -  396.59685      -     -    0s
+     0     0  480.80107    0   33          -  480.80107      -     -    0s
+H    0     0                     829.9074799  480.80107  42.1%     -    0s
+     0     0  481.39663    0   35  829.90748  481.39663  42.0%     -    0s
+     0     0  553.91629    0   25  829.90748  553.91629  33.3%     -    0s
+     0     0  593.47073    0   29  829.90748  593.47073  28.5%     -    0s
+     0     0  597.95780    0   33  829.90748  597.95780  27.9%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  MIR: 15
+  StrongCG: 2
+  Flow cover: 9
+  Inf proof: 2
+  Zero half: 5
+  RLT: 2
+
+Explored 1 nodes (175 simplex iterations) in 0.37 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 829.907 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.299074798515e+02, best bound 8.299074798515e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:50 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x47f74b14
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.965968e+02, 87 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  396.59685    0   14          -  396.59685      -     -    0s
+     0     0  480.80107    0   33          -  480.80107      -     -    0s
+H    0     0                     829.9074799  480.80107  42.1%     -    0s
+     0     0  481.39663    0   35  829.90748  481.39663  42.0%     -    0s
+     0     0  553.91629    0   25  829.90748  553.91629  33.3%     -    0s
+     0     0  593.47073    0   29  829.90748  593.47073  28.5%     -    0s
+     0     0  597.95780    0   33  829.90748  597.95780  27.9%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  MIR: 15
+  StrongCG: 2
+  Flow cover: 9
+  Inf proof: 2
+  Zero half: 5
+  RLT: 2
+
+Explored 1 nodes (175 simplex iterations) in 0.30 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 829.907 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.299074798515e+02, best bound 8.299074798515e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:51 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x715e9916
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 4.191180e+02, 88 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  419.11800    0   14          -  419.11800      -     -    0s
+     0     0  493.86511    0   31          -  493.86511      -     -    0s
+     0     0  494.75310    0   33          -  494.75310      -     -    0s
+     0     0  495.77935    0   35          -  495.77935      -     -    0s
+     0     0  517.15766    0   26          -  517.15766      -     -    0s
+H    0     0                     866.9599398  517.15766  40.3%     -    0s
+     0     0  525.83651    0   23  866.95994  525.83651  39.3%     -    0s
+     0     0  525.83651    0   23  866.95994  525.83651  39.3%     -    0s
+H    0     0                     847.3391449  525.83651  37.9%     -    0s
+     0     0  707.64888    0   36  847.33914  707.64888  16.5%     -    0s
+     0     0  757.55261    0   35  847.33914  757.55261  10.6%     -    0s
+     0     0  765.95177    0   35  847.33914  765.95177  9.61%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 17
+  Flow cover: 7
+  Inf proof: 1
+  Zero half: 7
+  RLT: 4
+
+Explored 1 nodes (175 simplex iterations) in 0.41 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 847.339 866.96 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.473391448781e+02, best bound 8.473391448781e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:51 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x715e9916
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 4.191180e+02, 88 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  419.11800    0   14          -  419.11800      -     -    0s
+     0     0  493.86511    0   31          -  493.86511      -     -    0s
+     0     0  494.75310    0   33          -  494.75310      -     -    0s
+     0     0  495.77935    0   35          -  495.77935      -     -    0s
+     0     0  517.15766    0   26          -  517.15766      -     -    0s
+H    0     0                     866.9599398  517.15766  40.3%     -    0s
+     0     0  525.83651    0   23  866.95994  525.83651  39.3%     -    0s
+     0     0  525.83651    0   23  866.95994  525.83651  39.3%     -    0s
+H    0     0                     847.3391449  525.83651  37.9%     -    0s
+     0     0  707.64888    0   36  847.33914  707.64888  16.5%     -    0s
+     0     0  757.55261    0   35  847.33914  757.55261  10.6%     -    0s
+     0     0  765.95177    0   35  847.33914  765.95177  9.61%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 17
+  Flow cover: 7
+  Inf proof: 1
+  Zero half: 7
+  RLT: 4
+
+Explored 1 nodes (175 simplex iterations) in 0.40 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 847.339 866.96 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.473391448781e+02, best bound 8.473391448781e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:52 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xa068249a
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+Found heuristic solution: objective 922.7580884
+
+Root relaxation: objective 4.196677e+02, 80 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  419.66767    0   14  922.75809  419.66767  54.5%     -    0s
+     0     0  516.38146    0   30  922.75809  516.38146  44.0%     -    0s
+     0     0  518.10740    0   36  922.75809  518.10740  43.9%     -    0s
+     0     0  584.91355    0   23  922.75809  584.91355  36.6%     -    0s
+     0     0  632.02275    0   33  922.75809  632.02275  31.5%     -    0s
+     0     0  633.13855    0   34  922.75809  633.13855  31.4%     -    0s
+H    0     0                     878.2952021  633.13855  27.9%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 10
+  Flow cover: 10
+  Inf proof: 1
+  Zero half: 4
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (182 simplex iterations) in 0.35 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 878.295 922.758 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.782952021047e+02, best bound 8.782952021047e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:52 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xa068249a
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+Found heuristic solution: objective 922.7580884
+
+Root relaxation: objective 4.196677e+02, 80 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  419.66767    0   14  922.75809  419.66767  54.5%     -    0s
+     0     0  516.38146    0   30  922.75809  516.38146  44.0%     -    0s
+     0     0  518.10740    0   36  922.75809  518.10740  43.9%     -    0s
+     0     0  584.91355    0   23  922.75809  584.91355  36.6%     -    0s
+     0     0  632.02275    0   33  922.75809  632.02275  31.5%     -    0s
+     0     0  633.13855    0   34  922.75809  633.13855  31.4%     -    0s
+H    0     0                     878.2952021  633.13855  27.9%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 10
+  Flow cover: 10
+  Inf proof: 1
+  Zero half: 4
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (182 simplex iterations) in 0.32 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 878.295 922.758 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.782952021047e+02, best bound 8.782952021047e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:52 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x410a323e
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [5e+01, 1e+05]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.03s
+Presolved: 101 rows, 121 columns, 825 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 5.058364e+02, 74 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  505.83641    0   15          -  505.83641      -     -    0s
+     0     0  599.48211    0   36          -  599.48211      -     -    0s
+     0     0  602.91370    0   34          -  602.91370      -     -    0s
+     0     0  628.13414    0   39          -  628.13414      -     -    0s
+     0     0  632.95363    0   39          -  632.95363      -     -    0s
+     0     0  633.17689    0   40          -  633.17689      -     -    0s
+H    0     0                     977.7633232  633.17689  35.2%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  Clique: 1
+  MIR: 17
+  StrongCG: 2
+  Flow cover: 7
+  Zero half: 1
+  Mod-K: 1
+  RLT: 9
+
+Explored 1 nodes (151 simplex iterations) in 0.30 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 977.763 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 9.777633232288e+02, best bound 9.777633232288e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:53 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x410a323e
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [5e+01, 1e+05]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 825 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 5.058364e+02, 74 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  505.83641    0   15          -  505.83641      -     -    0s
+     0     0  599.48211    0   36          -  599.48211      -     -    0s
+     0     0  602.91370    0   34          -  602.91370      -     -    0s
+     0     0  628.13414    0   39          -  628.13414      -     -    0s
+     0     0  632.95363    0   39          -  632.95363      -     -    0s
+     0     0  633.17689    0   40          -  633.17689      -     -    0s
+H    0     0                     977.7633232  633.17689  35.2%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  Clique: 1
+  MIR: 17
+  StrongCG: 2
+  Flow cover: 7
+  Zero half: 1
+  Mod-K: 1
+  RLT: 9
+
+Explored 1 nodes (151 simplex iterations) in 0.32 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 977.763 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 9.777633232288e+02, best bound 9.777633232288e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:53 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1373 nonzeros
+Model fingerprint: 0xdc21f627
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [5e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 157 rows and 204 columns
+Presolve time: 0.02s
+
+Explored 0 nodes (0 simplex iterations) in 0.02 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:53 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1373 nonzeros
+Model fingerprint: 0xdc21f627
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [5e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 157 rows and 204 columns
+Presolve time: 0.03s
+
+Explored 0 nodes (0 simplex iterations) in 0.03 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:53 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1377 nonzeros
+Model fingerprint: 0x85610366
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [5e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 6 rows and 63 columns
+Presolve time: 0.00s
+
+Explored 0 nodes (0 simplex iterations) in 0.01 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:53 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1377 nonzeros
+Model fingerprint: 0x85610366
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [5e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 6 rows and 63 columns
+Presolve time: 0.00s
+
+Explored 0 nodes (0 simplex iterations) in 0.00 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:53 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x270a20b2
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.612904e+02, 91 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  361.29040    0   14          -  361.29040      -     -    0s
+     0     0  446.45478    0   34          -  446.45478      -     -    0s
+H    0     0                     774.8181295  446.45478  42.4%     -    0s
+     0     0  446.63812    0   35  774.81813  446.63812  42.4%     -    0s
+     0     0  468.00635    0   23  774.81813  468.00635  39.6%     -    0s
+     0     0  473.12403    0   21  774.81813  473.12403  38.9%     -    0s
+     0     0  598.34280    0   29  774.81813  598.34280  22.8%     -    0s
+     0     0  598.34280    0   31  774.81813  598.34280  22.8%     -    0s
+     0     0  598.34280    0   33  774.81813  598.34280  22.8%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 14
+  Flow cover: 13
+  Inf proof: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 3
+
+Explored 1 nodes (211 simplex iterations) in 0.47 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 774.818 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.748181294994e+02, best bound 7.747713995505e+02, gap 0.0060%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:54 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x270a20b2
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.612904e+02, 91 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  361.29040    0   14          -  361.29040      -     -    0s
+     0     0  446.45478    0   34          -  446.45478      -     -    0s
+H    0     0                     774.8181295  446.45478  42.4%     -    0s
+     0     0  446.63812    0   35  774.81813  446.63812  42.4%     -    0s
+     0     0  468.00635    0   23  774.81813  468.00635  39.6%     -    0s
+     0     0  473.12403    0   21  774.81813  473.12403  38.9%     -    0s
+     0     0  598.34280    0   29  774.81813  598.34280  22.8%     -    0s
+     0     0  598.34280    0   31  774.81813  598.34280  22.8%     -    0s
+     0     0  598.34280    0   33  774.81813  598.34280  22.8%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 14
+  Flow cover: 13
+  Inf proof: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 3
+
+Explored 1 nodes (211 simplex iterations) in 0.36 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 774.818 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.748181294994e+02, best bound 7.747713995505e+02, gap 0.0060%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:54 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x4043d94b
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.637007e+02, 92 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  363.70075    0   14          -  363.70075      -     -    0s
+     0     0  450.32351    0   33          -  450.32351      -     -    0s
+     0     0  451.09419    0   34          -  451.09419      -     -    0s
+     0     0  451.20327    0   35          -  451.20327      -     -    0s
+     0     0  470.18596    0   27          -  470.18596      -     -    0s
+     0     0  470.52219    0   27          -  470.52219      -     -    0s
+H    0     0                     806.9075458  470.52219  41.7%     -    0s
+H    0     0                     777.9670646  470.52219  39.5%     -    0s
+     0     0  777.90792    0   36  777.96706  777.90792  0.01%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 15
+  Flow cover: 9
+  GUB cover: 1
+  Zero half: 2
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (215 simplex iterations) in 0.28 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 777.967 806.908 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.779670646087e+02, best bound 7.779079178855e+02, gap 0.0076%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:55 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x4043d94b
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.637007e+02, 92 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  363.70075    0   14          -  363.70075      -     -    0s
+     0     0  450.32351    0   33          -  450.32351      -     -    0s
+     0     0  451.09419    0   34          -  451.09419      -     -    0s
+     0     0  451.20327    0   35          -  451.20327      -     -    0s
+     0     0  470.18596    0   27          -  470.18596      -     -    0s
+     0     0  470.52219    0   27          -  470.52219      -     -    0s
+H    0     0                     806.9075458  470.52219  41.7%     -    0s
+H    0     0                     777.9670646  470.52219  39.5%     -    0s
+     0     0  777.90792    0   36  777.96706  777.90792  0.01%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 15
+  Flow cover: 9
+  GUB cover: 1
+  Zero half: 2
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (215 simplex iterations) in 0.29 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 777.967 806.908 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.779670646087e+02, best bound 7.779079178855e+02, gap 0.0076%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:55 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xe45ea3f7
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.682655e+02, 91 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  368.26551    0   14          -  368.26551      -     -    0s
+     0     0  452.34768    0   31          -  452.34768      -     -    0s
+H    0     0                     801.7131035  452.34768  43.6%     -    0s
+     0     0  453.16816    0   32  801.71310  453.16816  43.5%     -    0s
+     0     0  453.94500    0   34  801.71310  453.94500  43.4%     -    0s
+     0     0  453.95325    0   34  801.71310  453.95325  43.4%     -    0s
+H    0     0                     783.7444243  453.95325  42.1%     -    0s
+     0     0  477.23219    0   28  783.74442  477.23219  39.1%     -    0s
+     0     0  526.97556    0   27  783.74442  526.97556  32.8%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 12
+  StrongCG: 1
+  Flow cover: 11
+  Inf proof: 1
+  Zero half: 2
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (155 simplex iterations) in 0.24 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 783.744 801.713 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.837444243008e+02, best bound 7.837444243008e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:55 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xe45ea3f7
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.682655e+02, 91 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  368.26551    0   14          -  368.26551      -     -    0s
+     0     0  452.34768    0   31          -  452.34768      -     -    0s
+H    0     0                     801.7131035  452.34768  43.6%     -    0s
+     0     0  453.16816    0   32  801.71310  453.16816  43.5%     -    0s
+     0     0  453.94500    0   34  801.71310  453.94500  43.4%     -    0s
+     0     0  453.95325    0   34  801.71310  453.95325  43.4%     -    0s
+H    0     0                     783.7444243  453.95325  42.1%     -    0s
+     0     0  477.23219    0   28  783.74442  477.23219  39.1%     -    0s
+     0     0  526.97556    0   27  783.74442  526.97556  32.8%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 12
+  StrongCG: 1
+  Flow cover: 11
+  Inf proof: 1
+  Zero half: 2
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (155 simplex iterations) in 0.26 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 783.744 801.713 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.837444243008e+02, best bound 7.837444243008e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:56 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x1c82be2d
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.708318e+02, 97 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  370.83179    0   14          -  370.83179      -     -    0s
+     0     0  456.33860    0   32          -  456.33860      -     -    0s
+     0     0  456.87817    0   32          -  456.87817      -     -    0s
+     0     0  457.34308    0   34          -  457.34308      -     -    0s
+     0     0  457.40081    0   34          -  457.40081      -     -    0s
+     0     0  481.44824    0   28          -  481.44824      -     -    0s
+     0     0  483.93940    0   27          -  483.93940      -     -    0s
+H    0     0                     810.5420431  600.96821  25.9%     -    0s
+     0     0  600.96821    0   33  810.54204  600.96821  25.9%     -    0s
+     0     0  600.96821    0   34  810.54204  600.96821  25.9%     -    0s
+H    0     0                     786.0498092  600.96821  23.5%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 18
+  StrongCG: 1
+  Flow cover: 10
+  Mod-K: 2
+  RLT: 2
+
+Explored 1 nodes (196 simplex iterations) in 0.34 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 786.05 810.542 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.860498091825e+02, best bound 7.860498091825e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:56 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x1c82be2d
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.708318e+02, 97 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  370.83179    0   14          -  370.83179      -     -    0s
+     0     0  456.33860    0   32          -  456.33860      -     -    0s
+     0     0  456.87817    0   32          -  456.87817      -     -    0s
+     0     0  457.34308    0   34          -  457.34308      -     -    0s
+     0     0  457.40081    0   34          -  457.40081      -     -    0s
+     0     0  481.44824    0   28          -  481.44824      -     -    0s
+     0     0  483.93940    0   27          -  483.93940      -     -    0s
+H    0     0                     810.5420431  600.96821  25.9%     -    0s
+     0     0  600.96821    0   33  810.54204  600.96821  25.9%     -    0s
+     0     0  600.96821    0   34  810.54204  600.96821  25.9%     -    0s
+H    0     0                     786.0498092  600.96821  23.5%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 18
+  StrongCG: 1
+  Flow cover: 10
+  Mod-K: 2
+  RLT: 2
+
+Explored 1 nodes (196 simplex iterations) in 0.36 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 786.05 810.542 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.860498091825e+02, best bound 7.860498091825e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:56 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xb1d83d9a
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.842145e+02, 88 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  384.21451    0   14          -  384.21451      -     -    0s
+     0     0  469.65099    0   33          -  469.65099      -     -    0s
+     0     0  470.22421    0   35          -  470.22421      -     -    0s
+     0     0  486.63965    0   22          -  486.63965      -     -    0s
+     0     0  542.45753    0   30          -  542.45753      -     -    0s
+     0     0  542.45753    0   32          -  542.45753      -     -    0s
+H    0     0                     810.7857384  542.45753  33.1%     -    0s
+     0     0  702.51466    0   33  810.78574  702.51466  13.4%     -    0s
+     0     0  795.47507    0   35  810.78574  795.47507  1.89%     -    0s
+     0     0  810.78574    0   35  810.78574  810.78574  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 5
+  Flow cover: 7
+  Zero half: 2
+  Mod-K: 1
+  RLT: 4
+
+Explored 1 nodes (228 simplex iterations) in 0.32 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 810.786 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.107857384067e+02, best bound 8.107857384067e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:57 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xb1d83d9a
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.842145e+02, 88 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  384.21451    0   14          -  384.21451      -     -    0s
+     0     0  469.65099    0   33          -  469.65099      -     -    0s
+     0     0  470.22421    0   35          -  470.22421      -     -    0s
+     0     0  486.63965    0   22          -  486.63965      -     -    0s
+     0     0  542.45753    0   30          -  542.45753      -     -    0s
+     0     0  542.45753    0   32          -  542.45753      -     -    0s
+H    0     0                     810.7857384  542.45753  33.1%     -    0s
+     0     0  702.51466    0   33  810.78574  702.51466  13.4%     -    0s
+     0     0  795.47507    0   35  810.78574  795.47507  1.89%     -    0s
+     0     0  810.78574    0   35  810.78574  810.78574  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 5
+  Flow cover: 7
+  Zero half: 2
+  Mod-K: 1
+  RLT: 4
+
+Explored 1 nodes (228 simplex iterations) in 0.37 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 810.786 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.107857384067e+02, best bound 8.107857384067e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:57 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x70f0d930
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.971123e+02, 97 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  397.11228    0   14          -  397.11228      -     -    0s
+     0     0  478.42073    0   35          -  478.42073      -     -    0s
+H    0     0                     832.3498432  478.42073  42.5%     -    0s
+     0     0  479.32363    0   36  832.34984  479.32363  42.4%     -    0s
+H    0     0                     830.3533550  500.82678  39.7%     -    0s
+     0     0  564.53129    0   25  830.35336  564.53129  32.0%     -    0s
+     0     0  605.90750    0   27  830.35336  605.90750  27.0%     -    0s
+     0     0  613.74082    0   27  830.35336  613.74082  26.1%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 15
+  Flow cover: 7
+  Zero half: 6
+  RLT: 3
+
+Explored 1 nodes (170 simplex iterations) in 0.34 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 830.353 832.35 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.303533550333e+02, best bound 8.303533550333e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:58 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x70f0d930
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.971123e+02, 97 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  397.11228    0   14          -  397.11228      -     -    0s
+     0     0  478.42073    0   35          -  478.42073      -     -    0s
+H    0     0                     832.3498432  478.42073  42.5%     -    0s
+     0     0  479.32363    0   36  832.34984  479.32363  42.4%     -    0s
+H    0     0                     830.3533550  500.82678  39.7%     -    0s
+     0     0  564.53129    0   25  830.35336  564.53129  32.0%     -    0s
+     0     0  605.90750    0   27  830.35336  605.90750  27.0%     -    0s
+     0     0  613.74082    0   27  830.35336  613.74082  26.1%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 15
+  Flow cover: 7
+  Zero half: 6
+  RLT: 3
+
+Explored 1 nodes (170 simplex iterations) in 0.32 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 830.353 832.35 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.303533550333e+02, best bound 8.303533550333e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:58 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xf1905166
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.986538e+02, 96 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  398.65382    0   14          -  398.65382      -     -    0s
+     0     0  490.77730    0   34          -  490.77730      -     -    0s
+     0     0  494.24064    0   35          -  494.24064      -     -    0s
+     0     0  494.24064    0   37          -  494.24064      -     -    0s
+     0     0  522.78249    0   25          -  522.78249      -     -    0s
+H    0     0                     839.2646286  522.78249  37.7%     -    0s
+     0     0  535.94500    0   26  839.26463  535.94500  36.1%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 10
+  Flow cover: 9
+  Zero half: 3
+  Mod-K: 2
+  RLT: 2
+
+Explored 1 nodes (184 simplex iterations) in 0.24 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 839.265 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.392646286028e+02, best bound 8.392646286028e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:58 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xf1905166
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.986538e+02, 96 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  398.65382    0   14          -  398.65382      -     -    0s
+     0     0  490.77730    0   34          -  490.77730      -     -    0s
+     0     0  494.24064    0   35          -  494.24064      -     -    0s
+     0     0  494.24064    0   37          -  494.24064      -     -    0s
+     0     0  522.78249    0   25          -  522.78249      -     -    0s
+H    0     0                     839.2646286  522.78249  37.7%     -    0s
+     0     0  535.94500    0   26  839.26463  535.94500  36.1%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 10
+  Flow cover: 9
+  Zero half: 3
+  Mod-K: 2
+  RLT: 2
+
+Explored 1 nodes (184 simplex iterations) in 0.27 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 839.265 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.392646286028e+02, best bound 8.392646286028e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:59 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x8114104a
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 8e+01]
+  Objective range  [5e+01, 8e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 65 rows and 87 columns
+Presolve time: 0.03s
+Presolved: 102 rows, 123 columns, 837 nonzeros
+Variable types: 0 continuous, 123 integer (68 binary)
+
+Root relaxation: objective 4.350949e+02, 75 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  435.09486    0   15          -  435.09486      -     -    0s
+     0     0  536.97961    0   35          -  536.97961      -     -    0s
+H    0     0                     904.9899649  536.97961  40.7%     -    0s
+     0     0  581.11910    0   43  904.98996  581.11910  35.8%     -    0s
+H    0     0                     895.3481251  581.11910  35.1%     -    0s
+     0     0  638.31868    0   40  895.34813  638.31868  28.7%     -    0s
+     0     0  643.87754    0   39  895.34813  643.87754  28.1%     -    0s
+     0     0  654.88473    0   39  895.34813  654.88473  26.9%     -    0s
+
+Cutting planes:
+  Gomory: 4
+  MIR: 15
+  StrongCG: 2
+  Flow cover: 5
+  Inf proof: 2
+  Zero half: 5
+  RLT: 4
+
+Explored 1 nodes (169 simplex iterations) in 0.33 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 895.348 904.99 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.953481251103e+02, best bound 8.953481251103e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:59 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x8114104a
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 8e+01]
+  Objective range  [5e+01, 8e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 65 rows and 87 columns
+Presolve time: 0.03s
+Presolved: 102 rows, 123 columns, 837 nonzeros
+Variable types: 0 continuous, 123 integer (68 binary)
+
+Root relaxation: objective 4.350949e+02, 75 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  435.09486    0   15          -  435.09486      -     -    0s
+     0     0  536.97961    0   35          -  536.97961      -     -    0s
+H    0     0                     904.9899649  536.97961  40.7%     -    0s
+     0     0  581.11910    0   43  904.98996  581.11910  35.8%     -    0s
+H    0     0                     895.3481251  581.11910  35.1%     -    0s
+     0     0  638.31868    0   40  895.34813  638.31868  28.7%     -    0s
+     0     0  643.87754    0   39  895.34813  643.87754  28.1%     -    0s
+     0     0  654.88473    0   39  895.34813  654.88473  26.9%     -    0s
+
+Cutting planes:
+  Gomory: 4
+  MIR: 15
+  StrongCG: 2
+  Flow cover: 5
+  Inf proof: 2
+  Zero half: 5
+  RLT: 4
+
+Explored 1 nodes (169 simplex iterations) in 0.28 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 895.348 904.99 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.953481251103e+02, best bound 8.953481251103e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:55:59 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1373 nonzeros
+Model fingerprint: 0xa8e8bcab
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [5e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 85 rows and 116 columns
+Presolve time: 0.02s
+Presolved: 82 rows, 94 columns, 576 nonzeros
+Variable types: 0 continuous, 94 integer (52 binary)
+
+Root relaxation: objective 5.336761e+02, 38 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  533.67608    0   14          -  533.67608      -     -    0s
+     0     0  719.61078    0   26          -  719.61078      -     -    0s
+     0     0  724.50734    0   32          -  724.50734      -     -    0s
+     0     0  793.96586    0   27          -  793.96586      -     -    0s
+     0     0  942.50888    0   33          -  942.50888      -     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 13
+  StrongCG: 2
+  Flow cover: 6
+  Inf proof: 1
+  Zero half: 6
+  RLT: 2
+
+Explored 1 nodes (105 simplex iterations) in 0.18 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:56:00 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1373 nonzeros
+Model fingerprint: 0xa8e8bcab
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [5e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 85 rows and 116 columns
+Presolve time: 0.02s
+Presolved: 82 rows, 94 columns, 576 nonzeros
+Variable types: 0 continuous, 94 integer (52 binary)
+
+Root relaxation: objective 5.336761e+02, 38 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  533.67608    0   14          -  533.67608      -     -    0s
+     0     0  719.61078    0   26          -  719.61078      -     -    0s
+     0     0  724.50734    0   32          -  724.50734      -     -    0s
+     0     0  793.96586    0   27          -  793.96586      -     -    0s
+     0     0  942.50888    0   33          -  942.50888      -     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 13
+  StrongCG: 2
+  Flow cover: 6
+  Inf proof: 1
+  Zero half: 6
+  RLT: 2
+
+Explored 1 nodes (105 simplex iterations) in 0.23 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:56:00 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1375 nonzeros
+Model fingerprint: 0xe0890e7a
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [5e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 140 rows and 194 columns
+Presolve time: 0.01s
+
+Explored 0 nodes (0 simplex iterations) in 0.01 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:56:00 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1375 nonzeros
+Model fingerprint: 0xe0890e7a
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [5e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 140 rows and 194 columns
+Presolve time: 0.02s
+
+Explored 0 nodes (0 simplex iterations) in 0.02 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:56:00 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1374 nonzeros
+Model fingerprint: 0x58ebd7eb
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [1e+02, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 9 rows and 64 columns
+Presolve time: 0.00s
+
+Explored 0 nodes (0 simplex iterations) in 0.01 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:56:00 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1374 nonzeros
+Model fingerprint: 0x58ebd7eb
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [1e+02, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 9 rows and 64 columns
+Presolve time: 0.00s
+
+Explored 0 nodes (0 simplex iterations) in 0.00 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:56:00 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xa0e2e9a7
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.617329e+02, 91 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  361.73290    0   14          -  361.73290      -     -    0s
+     0     0  447.27037    0   33          -  447.27037      -     -    0s
+     0     0  448.07551    0   34          -  448.07551      -     -    0s
+     0     0  448.16295    0   35          -  448.16295      -     -    0s
+     0     0  466.35796    0   27          -  466.35796      -     -    0s
+     0     0  466.77263    0   27          -  466.77263      -     -    0s
+     0     0  467.10840    0   29          -  467.10840      -     -    0s
+     0     0  607.02634    0   34          -  607.02634      -     -    0s
+     0     0  615.77604    0   38          -  615.77604      -     -    0s
+     0     0  615.77604    0   37          -  615.77604      -     -    0s
+     0     0  615.77604    0   40          -  615.77604      -     -    0s
+     0     0  615.77604    0   28          -  615.77604      -     -    0s
+     0     0  615.77604    0   32          -  615.77604      -     -    0s
+H    0     0                     801.2877652  615.77604  23.2%     -    0s
+H    0     0                     775.4998652  615.77604  20.6%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 11
+  Flow cover: 13
+  GUB cover: 1
+  Inf proof: 1
+  Mod-K: 2
+  RLT: 3
+
+Explored 1 nodes (244 simplex iterations) in 0.56 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 775.5 801.288 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.754998651895e+02, best bound 7.754998651895e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:56:01 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xa0e2e9a7
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.617329e+02, 91 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  361.73290    0   14          -  361.73290      -     -    0s
+     0     0  447.27037    0   33          -  447.27037      -     -    0s
+     0     0  448.07551    0   34          -  448.07551      -     -    0s
+     0     0  448.16295    0   35          -  448.16295      -     -    0s
+     0     0  466.35796    0   27          -  466.35796      -     -    0s
+     0     0  466.77263    0   27          -  466.77263      -     -    0s
+     0     0  467.10840    0   29          -  467.10840      -     -    0s
+     0     0  607.02634    0   34          -  607.02634      -     -    0s
+     0     0  615.77604    0   38          -  615.77604      -     -    0s
+     0     0  615.77604    0   37          -  615.77604      -     -    0s
+     0     0  615.77604    0   40          -  615.77604      -     -    0s
+     0     0  615.77604    0   28          -  615.77604      -     -    0s
+     0     0  615.77604    0   32          -  615.77604      -     -    0s
+H    0     0                     801.2877652  615.77604  23.2%     -    0s
+H    0     0                     775.4998652  615.77604  20.6%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 11
+  Flow cover: 13
+  GUB cover: 1
+  Inf proof: 1
+  Mod-K: 2
+  RLT: 3
+
+Explored 1 nodes (244 simplex iterations) in 0.41 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 775.5 801.288 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.754998651895e+02, best bound 7.754998651895e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 15:56:01 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xdf042b5e
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.643723e+02, 91 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  364.37228    0   14          -  364.37228      -     -    0s
+     0     0  449.00614    0   35          -  449.00614      -     -    0s
+     0     0  449.40547    0   35          -  449.40547      -     -    0s
+     0     0  471.36362    0   22          -  471.36362      -     -    0s
+     0     0  477.86244    0   21          -  477.86244      -     -    0s
+     0     0  540.50725    0   27          -  540.50725      -     -    0s
+     0     0  557.49898    0   37          -  557.49898      -     -    0s
+H    0     0                     778.2555880  557.49898  28.4%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 16
+  Flow cover: 11
+  Inf proof: 1
+  Zero half: 1
+  RLT: 5
+
+Explored 1 nodes (221 simplex iterations) in 0.51 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 778.256 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.782555880190e+02, best bound 7.782555880190e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:15 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x9f27c4df
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.612127e+02, 91 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  361.21268    0   14          -  361.21268      -     -    0s
+     0     0  445.70080    0   30          -  445.70080      -     -    0s
+     0     0  446.20384    0   20          -  446.20384      -     -    0s
+     0     0  446.95771    0   35          -  446.95771      -     -    0s
+     0     0  467.98069    0   28          -  467.98069      -     -    0s
+     0     0  468.22258    0   29          -  468.22258      -     -    0s
+     0     0  618.26001    0   33          -  618.26001      -     -    0s
+     0     0  618.26001    0   33          -  618.26001      -     -    0s
+     0     0  684.01168    0   36          -  684.01168      -     -    0s
+     0     0  687.96070    0   36          -  687.96070      -     -    0s
+H    0     0                     777.4852859  687.96070  11.5%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 11
+  StrongCG: 2
+  Flow cover: 10
+  Zero half: 1
+  RLT: 3
+  Relax-and-lift: 1
+
+Explored 1 nodes (212 simplex iterations) in 0.46 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 777.485 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.774852859196e+02, best bound 7.774852859196e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:16 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x9f27c4df
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.612127e+02, 91 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  361.21268    0   14          -  361.21268      -     -    0s
+     0     0  445.70080    0   30          -  445.70080      -     -    0s
+     0     0  446.20384    0   20          -  446.20384      -     -    0s
+     0     0  446.95771    0   35          -  446.95771      -     -    0s
+     0     0  467.98069    0   28          -  467.98069      -     -    0s
+     0     0  468.22258    0   29          -  468.22258      -     -    0s
+     0     0  618.26001    0   33          -  618.26001      -     -    0s
+     0     0  618.26001    0   33          -  618.26001      -     -    0s
+     0     0  684.01168    0   36          -  684.01168      -     -    0s
+     0     0  687.96070    0   36          -  687.96070      -     -    0s
+H    0     0                     777.4852859  687.96070  11.5%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 11
+  StrongCG: 2
+  Flow cover: 10
+  Zero half: 1
+  RLT: 3
+  Relax-and-lift: 1
+
+Explored 1 nodes (212 simplex iterations) in 0.50 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 777.485 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.774852859196e+02, best bound 7.774852859196e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:17 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xa1887ec7
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.06s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.631469e+02, 86 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  363.14695    0   14          -  363.14695      -     -    0s
+     0     0  447.74726    0   34          -  447.74726      -     -    0s
+     0     0  448.74355    0   34          -  448.74355      -     -    0s
+     0     0  448.99477    0   34          -  448.99477      -     -    0s
+     0     0  467.28964    0   25          -  467.28964      -     -    0s
+     0     0  467.31618    0   25          -  467.31618      -     -    0s
+     0     0  589.70129    0   30          -  589.70129      -     -    0s
+     0     0  594.55652    0   32          -  594.55652      -     -    0s
+     0     0  594.55652    0   31          -  594.55652      -     -    0s
+     0     0  616.90013    0   31          -  616.90013      -     -    0s
+     0     0  616.90013    0   33          -  616.90013      -     -    0s
+H    0     0                     985.6827395  616.90013  37.4%     -    0s
+H    0     0                     777.0967571  616.90013  20.6%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 16
+  StrongCG: 1
+  Flow cover: 5
+  Zero half: 2
+  Mod-K: 2
+  RLT: 2
+
+Explored 1 nodes (211 simplex iterations) in 0.43 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 777.097 985.683 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.770967571098e+02, best bound 7.770967571098e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:17 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xa1887ec7
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.631469e+02, 86 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  363.14695    0   14          -  363.14695      -     -    0s
+     0     0  447.74726    0   34          -  447.74726      -     -    0s
+     0     0  448.74355    0   34          -  448.74355      -     -    0s
+     0     0  448.99477    0   34          -  448.99477      -     -    0s
+     0     0  467.28964    0   25          -  467.28964      -     -    0s
+     0     0  467.31618    0   25          -  467.31618      -     -    0s
+     0     0  589.70129    0   30          -  589.70129      -     -    0s
+     0     0  594.55652    0   32          -  594.55652      -     -    0s
+     0     0  594.55652    0   31          -  594.55652      -     -    0s
+     0     0  616.90013    0   31          -  616.90013      -     -    0s
+     0     0  616.90013    0   33          -  616.90013      -     -    0s
+H    0     0                     985.6827395  616.90013  37.4%     -    0s
+H    0     0                     777.0967571  616.90013  20.6%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 16
+  StrongCG: 1
+  Flow cover: 5
+  Zero half: 2
+  Mod-K: 2
+  RLT: 2
+
+Explored 1 nodes (211 simplex iterations) in 0.40 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 777.097 985.683 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.770967571098e+02, best bound 7.770967571098e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:18 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x8264b64e
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.669926e+02, 91 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  366.99259    0   14          -  366.99259      -     -    0s
+     0     0  454.81034    0   26          -  454.81034      -     -    0s
+     0     0  455.32449    0   20          -  455.32449      -     -    0s
+     0     0  455.86124    0   35          -  455.86124      -     -    0s
+     0     0  476.81381    0   26          -  476.81381      -     -    0s
+     0     0  480.81179    0   26          -  480.81179      -     -    0s
+     0     0  482.50283    0   29          -  482.50283      -     -    0s
+     0     0  622.05385    0   41          -  622.05385      -     -    0s
+     0     0  622.05385    0   41          -  622.05385      -     -    0s
+     0     0  622.05385    0   30          -  622.05385      -     -    0s
+H    0     0                     814.1555193  622.05385  23.6%     -    0s
+H    0     0                     782.4647174  622.05385  20.5%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 15
+  StrongCG: 1
+  Flow cover: 9
+  GUB cover: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 3
+
+Explored 1 nodes (256 simplex iterations) in 0.43 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 782.465 814.156 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.824647173694e+02, best bound 7.824647173694e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:18 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x8264b64e
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.669926e+02, 91 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  366.99259    0   14          -  366.99259      -     -    0s
+     0     0  454.81034    0   26          -  454.81034      -     -    0s
+     0     0  455.32449    0   20          -  455.32449      -     -    0s
+     0     0  455.86124    0   35          -  455.86124      -     -    0s
+     0     0  476.81381    0   26          -  476.81381      -     -    0s
+     0     0  480.81179    0   26          -  480.81179      -     -    0s
+     0     0  482.50283    0   29          -  482.50283      -     -    0s
+     0     0  622.05385    0   41          -  622.05385      -     -    0s
+     0     0  622.05385    0   41          -  622.05385      -     -    0s
+     0     0  622.05385    0   30          -  622.05385      -     -    0s
+H    0     0                     814.1555193  622.05385  23.6%     -    0s
+H    0     0                     782.4647174  622.05385  20.5%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 15
+  StrongCG: 1
+  Flow cover: 9
+  GUB cover: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 3
+
+Explored 1 nodes (256 simplex iterations) in 0.44 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 782.465 814.156 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.824647173694e+02, best bound 7.824647173694e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:19 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xe9a197c9
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.735041e+02, 97 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  373.50407    0   14          -  373.50407      -     -    0s
+     0     0  457.64418    0   29          -  457.64418      -     -    0s
+     0     0  458.43041    0   33          -  458.43041      -     -    0s
+     0     0  459.32719    0   34          -  459.32719      -     -    0s
+     0     0  459.37579    0   34          -  459.37579      -     -    0s
+H    0     0                     790.8262513  459.37579  41.9%     -    0s
+     0     0  495.37323    0   27  790.82625  495.37323  37.4%     -    0s
+     0     0  499.12085    0   28  790.82625  499.12085  36.9%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 16
+  Flow cover: 12
+  Inf proof: 2
+  Zero half: 3
+  Mod-K: 3
+  RLT: 2
+
+Explored 1 nodes (162 simplex iterations) in 0.33 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 790.826 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.908262512524e+02, best bound 7.908262512524e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:19 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xe9a197c9
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.735041e+02, 97 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  373.50407    0   14          -  373.50407      -     -    0s
+     0     0  457.64418    0   29          -  457.64418      -     -    0s
+     0     0  458.43041    0   33          -  458.43041      -     -    0s
+     0     0  459.32719    0   34          -  459.32719      -     -    0s
+     0     0  459.37579    0   34          -  459.37579      -     -    0s
+H    0     0                     790.8262513  459.37579  41.9%     -    0s
+     0     0  495.37323    0   27  790.82625  495.37323  37.4%     -    0s
+     0     0  499.12085    0   28  790.82625  499.12085  36.9%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 16
+  Flow cover: 12
+  Inf proof: 2
+  Zero half: 3
+  Mod-K: 3
+  RLT: 2
+
+Explored 1 nodes (162 simplex iterations) in 0.28 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 790.826 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.908262512524e+02, best bound 7.908262512524e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:19 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x7f8d7a00
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.769709e+02, 94 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  376.97085    0   14          -  376.97085      -     -    0s
+     0     0  462.98331    0   30          -  462.98331      -     -    0s
+     0     0  463.49240    0   32          -  463.49240      -     -    0s
+     0     0  463.92382    0   34          -  463.92382      -     -    0s
+     0     0  489.82122    0   31          -  489.82122      -     -    0s
+     0     0  491.01412    0   30          -  491.01412      -     -    0s
+H    0     0                     819.0298409  491.01412  40.0%     -    0s
+H    0     0                     793.8472735  491.01412  38.1%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  MIR: 15
+  StrongCG: 1
+  Flow cover: 11
+  Inf proof: 1
+  RLT: 3
+
+Explored 1 nodes (177 simplex iterations) in 0.37 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 793.847 819.03 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.938472734776e+02, best bound 7.938472734776e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:20 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x7f8d7a00
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.769709e+02, 94 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  376.97085    0   14          -  376.97085      -     -    0s
+     0     0  462.98331    0   30          -  462.98331      -     -    0s
+     0     0  463.49240    0   32          -  463.49240      -     -    0s
+     0     0  463.92382    0   34          -  463.92382      -     -    0s
+     0     0  489.82122    0   31          -  489.82122      -     -    0s
+     0     0  491.01412    0   30          -  491.01412      -     -    0s
+H    0     0                     819.0298409  491.01412  40.0%     -    0s
+H    0     0                     793.8472735  491.01412  38.1%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  MIR: 15
+  StrongCG: 1
+  Flow cover: 11
+  Inf proof: 1
+  RLT: 3
+
+Explored 1 nodes (177 simplex iterations) in 0.30 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 793.847 819.03 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.938472734776e+02, best bound 7.938472734776e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:20 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x47f74b14
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.965968e+02, 87 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  396.59685    0   14          -  396.59685      -     -    0s
+     0     0  480.80107    0   33          -  480.80107      -     -    0s
+H    0     0                     829.9074799  480.80107  42.1%     -    0s
+     0     0  481.39663    0   35  829.90748  481.39663  42.0%     -    0s
+     0     0  553.91629    0   25  829.90748  553.91629  33.3%     -    0s
+     0     0  593.47073    0   29  829.90748  593.47073  28.5%     -    0s
+     0     0  597.95780    0   33  829.90748  597.95780  27.9%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  MIR: 15
+  StrongCG: 2
+  Flow cover: 9
+  Inf proof: 2
+  Zero half: 5
+  RLT: 2
+
+Explored 1 nodes (175 simplex iterations) in 0.33 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 829.907 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.299074798515e+02, best bound 8.299074798515e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:20 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x47f74b14
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.965968e+02, 87 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  396.59685    0   14          -  396.59685      -     -    0s
+     0     0  480.80107    0   33          -  480.80107      -     -    0s
+H    0     0                     829.9074799  480.80107  42.1%     -    0s
+     0     0  481.39663    0   35  829.90748  481.39663  42.0%     -    0s
+     0     0  553.91629    0   25  829.90748  553.91629  33.3%     -    0s
+     0     0  593.47073    0   29  829.90748  593.47073  28.5%     -    0s
+     0     0  597.95780    0   33  829.90748  597.95780  27.9%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  MIR: 15
+  StrongCG: 2
+  Flow cover: 9
+  Inf proof: 2
+  Zero half: 5
+  RLT: 2
+
+Explored 1 nodes (175 simplex iterations) in 0.34 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 829.907 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.299074798515e+02, best bound 8.299074798515e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:21 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x715e9916
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 4.191180e+02, 88 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  419.11800    0   14          -  419.11800      -     -    0s
+     0     0  493.86511    0   31          -  493.86511      -     -    0s
+     0     0  494.75310    0   33          -  494.75310      -     -    0s
+     0     0  495.77935    0   35          -  495.77935      -     -    0s
+     0     0  517.15766    0   26          -  517.15766      -     -    0s
+H    0     0                     866.9599398  517.15766  40.3%     -    0s
+     0     0  525.83651    0   23  866.95994  525.83651  39.3%     -    0s
+     0     0  525.83651    0   23  866.95994  525.83651  39.3%     -    0s
+H    0     0                     847.3391449  525.83651  37.9%     -    0s
+     0     0  707.64888    0   36  847.33914  707.64888  16.5%     -    0s
+     0     0  757.55261    0   35  847.33914  757.55261  10.6%     -    0s
+     0     0  765.95177    0   35  847.33914  765.95177  9.61%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 17
+  Flow cover: 7
+  Inf proof: 1
+  Zero half: 7
+  RLT: 4
+
+Explored 1 nodes (175 simplex iterations) in 0.39 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 847.339 866.96 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.473391448781e+02, best bound 8.473391448781e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:21 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x715e9916
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 4.191180e+02, 88 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  419.11800    0   14          -  419.11800      -     -    0s
+     0     0  493.86511    0   31          -  493.86511      -     -    0s
+     0     0  494.75310    0   33          -  494.75310      -     -    0s
+     0     0  495.77935    0   35          -  495.77935      -     -    0s
+     0     0  517.15766    0   26          -  517.15766      -     -    0s
+H    0     0                     866.9599398  517.15766  40.3%     -    0s
+     0     0  525.83651    0   23  866.95994  525.83651  39.3%     -    0s
+     0     0  525.83651    0   23  866.95994  525.83651  39.3%     -    0s
+H    0     0                     847.3391449  525.83651  37.9%     -    0s
+     0     0  707.64888    0   36  847.33914  707.64888  16.5%     -    0s
+     0     0  757.55261    0   35  847.33914  757.55261  10.6%     -    0s
+     0     0  765.95177    0   35  847.33914  765.95177  9.61%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 17
+  Flow cover: 7
+  Inf proof: 1
+  Zero half: 7
+  RLT: 4
+
+Explored 1 nodes (175 simplex iterations) in 0.37 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 847.339 866.96 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.473391448781e+02, best bound 8.473391448781e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:22 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xa068249a
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+Found heuristic solution: objective 922.7580884
+
+Root relaxation: objective 4.196677e+02, 80 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  419.66767    0   14  922.75809  419.66767  54.5%     -    0s
+     0     0  516.38146    0   30  922.75809  516.38146  44.0%     -    0s
+     0     0  518.10740    0   36  922.75809  518.10740  43.9%     -    0s
+     0     0  584.91355    0   23  922.75809  584.91355  36.6%     -    0s
+     0     0  632.02275    0   33  922.75809  632.02275  31.5%     -    0s
+     0     0  633.13855    0   34  922.75809  633.13855  31.4%     -    0s
+H    0     0                     878.2952021  633.13855  27.9%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 10
+  Flow cover: 10
+  Inf proof: 1
+  Zero half: 4
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (182 simplex iterations) in 0.34 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 878.295 922.758 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.782952021047e+02, best bound 8.782952021047e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:22 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xa068249a
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+Found heuristic solution: objective 922.7580884
+
+Root relaxation: objective 4.196677e+02, 80 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  419.66767    0   14  922.75809  419.66767  54.5%     -    0s
+     0     0  516.38146    0   30  922.75809  516.38146  44.0%     -    0s
+     0     0  518.10740    0   36  922.75809  518.10740  43.9%     -    0s
+     0     0  584.91355    0   23  922.75809  584.91355  36.6%     -    0s
+     0     0  632.02275    0   33  922.75809  632.02275  31.5%     -    0s
+     0     0  633.13855    0   34  922.75809  633.13855  31.4%     -    0s
+H    0     0                     878.2952021  633.13855  27.9%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 10
+  Flow cover: 10
+  Inf proof: 1
+  Zero half: 4
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (182 simplex iterations) in 0.31 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 878.295 922.758 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 8.782952021047e+02, best bound 8.782952021047e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:22 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x410a323e
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [5e+01, 1e+05]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 825 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 5.058364e+02, 74 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  505.83641    0   15          -  505.83641      -     -    0s
+     0     0  599.48211    0   36          -  599.48211      -     -    0s
+     0     0  602.91370    0   34          -  602.91370      -     -    0s
+     0     0  628.13414    0   39          -  628.13414      -     -    0s
+     0     0  632.95363    0   39          -  632.95363      -     -    0s
+     0     0  633.17689    0   40          -  633.17689      -     -    0s
+H    0     0                     977.7633232  633.17689  35.2%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  Clique: 1
+  MIR: 17
+  StrongCG: 2
+  Flow cover: 7
+  Zero half: 1
+  Mod-K: 1
+  RLT: 9
+
+Explored 1 nodes (151 simplex iterations) in 0.33 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 977.763 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 9.777633232288e+02, best bound 9.777633232288e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:23 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x410a323e
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [5e+01, 1e+05]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 825 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 5.058364e+02, 74 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  505.83641    0   15          -  505.83641      -     -    0s
+     0     0  599.48211    0   36          -  599.48211      -     -    0s
+     0     0  602.91370    0   34          -  602.91370      -     -    0s
+     0     0  628.13414    0   39          -  628.13414      -     -    0s
+     0     0  632.95363    0   39          -  632.95363      -     -    0s
+     0     0  633.17689    0   40          -  633.17689      -     -    0s
+H    0     0                     977.7633232  633.17689  35.2%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  Clique: 1
+  MIR: 17
+  StrongCG: 2
+  Flow cover: 7
+  Zero half: 1
+  Mod-K: 1
+  RLT: 9
+
+Explored 1 nodes (151 simplex iterations) in 0.34 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 977.763 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 9.777633232288e+02, best bound 9.777633232288e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:23 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1373 nonzeros
+Model fingerprint: 0xdc21f627
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [5e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 157 rows and 204 columns
+Presolve time: 0.06s
+
+Explored 0 nodes (0 simplex iterations) in 0.07 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:23 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1373 nonzeros
+Model fingerprint: 0xdc21f627
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [5e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 157 rows and 204 columns
+Presolve time: 0.02s
+
+Explored 0 nodes (0 simplex iterations) in 0.03 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:23 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1377 nonzeros
+Model fingerprint: 0x85610366
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [5e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 6 rows and 63 columns
+Presolve time: 0.00s
+
+Explored 0 nodes (0 simplex iterations) in 0.00 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:23 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1377 nonzeros
+Model fingerprint: 0x85610366
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [5e+01, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 6 rows and 63 columns
+Presolve time: 0.00s
+
+Explored 0 nodes (0 simplex iterations) in 0.00 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:24 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x270a20b2
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.612904e+02, 91 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  361.29040    0   14          -  361.29040      -     -    0s
+     0     0  446.45478    0   34          -  446.45478      -     -    0s
+H    0     0                     774.8181295  446.45478  42.4%     -    0s
+     0     0  446.63812    0   35  774.81813  446.63812  42.4%     -    0s
+     0     0  468.00635    0   23  774.81813  468.00635  39.6%     -    0s
+     0     0  473.12403    0   21  774.81813  473.12403  38.9%     -    0s
+     0     0  598.34280    0   29  774.81813  598.34280  22.8%     -    0s
+     0     0  598.34280    0   31  774.81813  598.34280  22.8%     -    0s
+     0     0  598.34280    0   33  774.81813  598.34280  22.8%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 14
+  Flow cover: 13
+  Inf proof: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 3
+
+Explored 1 nodes (211 simplex iterations) in 0.53 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 774.818 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.748181294994e+02, best bound 7.747713995505e+02, gap 0.0060%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:24 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x270a20b2
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.612904e+02, 91 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  361.29040    0   14          -  361.29040      -     -    0s
+     0     0  446.45478    0   34          -  446.45478      -     -    0s
+H    0     0                     774.8181295  446.45478  42.4%     -    0s
+     0     0  446.63812    0   35  774.81813  446.63812  42.4%     -    0s
+     0     0  468.00635    0   23  774.81813  468.00635  39.6%     -    0s
+     0     0  473.12403    0   21  774.81813  473.12403  38.9%     -    0s
+     0     0  598.34280    0   29  774.81813  598.34280  22.8%     -    0s
+     0     0  598.34280    0   31  774.81813  598.34280  22.8%     -    0s
+     0     0  598.34280    0   33  774.81813  598.34280  22.8%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 14
+  Flow cover: 13
+  Inf proof: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 3
+
+Explored 1 nodes (211 simplex iterations) in 0.47 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 774.818 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.748181294994e+02, best bound 7.747713995505e+02, gap 0.0060%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:25 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x4043d94b
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.637007e+02, 92 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  363.70075    0   14          -  363.70075      -     -    0s
+     0     0  450.32351    0   33          -  450.32351      -     -    0s
+     0     0  451.09419    0   34          -  451.09419      -     -    0s
+     0     0  451.20327    0   35          -  451.20327      -     -    0s
+     0     0  470.18596    0   27          -  470.18596      -     -    0s
+     0     0  470.52219    0   27          -  470.52219      -     -    0s
+H    0     0                     806.9075458  470.52219  41.7%     -    0s
+H    0     0                     777.9670646  470.52219  39.5%     -    0s
+     0     0  777.90792    0   36  777.96706  777.90792  0.01%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 15
+  Flow cover: 9
+  GUB cover: 1
+  Zero half: 2
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (215 simplex iterations) in 0.33 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 777.967 806.908 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.779670646087e+02, best bound 7.779079178855e+02, gap 0.0076%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:17:25 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x4043d94b
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [5e+01, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 851 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.637007e+02, 92 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  363.70075    0   14          -  363.70075      -     -    0s
+     0     0  450.32351    0   33          -  450.32351      -     -    0s
+     0     0  451.09419    0   34          -  451.09419      -     -    0s
+     0     0  451.20327    0   35          -  451.20327      -     -    0s
+     0     0  470.18596    0   27          -  470.18596      -     -    0s
+     0     0  470.52219    0   27          -  470.52219      -     -    0s
+H    0     0                     806.9075458  470.52219  41.7%     -    0s
+H    0     0                     777.9670646  470.52219  39.5%     -    0s
+     0     0  777.90792    0   36  777.96706  777.90792  0.01%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 15
+  Flow cover: 9
+  GUB cover: 1
+  Zero half: 2
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (215 simplex iterations) in 0.37 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 777.967 806.908 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.779670646087e+02, best bound 7.779079178855e+02, gap 0.0076%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:24:11 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x6a8fdea3
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.267558e+02, 63 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  326.75580    0   20          -  326.75580      -     -    0s
+     0     0  350.50720    0   13          -  350.50720      -     -    0s
+H    0     0                     588.3963919  357.40053  39.3%     -    0s
+     0     0  409.28479    0   24  588.39639  409.28479  30.4%     -    0s
+     0     0  431.12383    0   35  588.39639  431.12383  26.7%     -    0s
+
+Cutting planes:
+  MIR: 14
+  StrongCG: 3
+  Flow cover: 11
+  Inf proof: 3
+  Mod-K: 4
+  RLT: 2
+
+Explored 1 nodes (145 simplex iterations) in 0.29 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 588.396 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.883963918989e+02, best bound 5.883963918989e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:24:12 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x6a8fdea3
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.267558e+02, 63 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  326.75580    0   20          -  326.75580      -     -    0s
+     0     0  350.50720    0   13          -  350.50720      -     -    0s
+H    0     0                     588.3963919  357.40053  39.3%     -    0s
+     0     0  409.28479    0   24  588.39639  409.28479  30.4%     -    0s
+     0     0  431.12383    0   35  588.39639  431.12383  26.7%     -    0s
+
+Cutting planes:
+  MIR: 14
+  StrongCG: 3
+  Flow cover: 11
+  Inf proof: 3
+  Mod-K: 4
+  RLT: 2
+
+Explored 1 nodes (145 simplex iterations) in 0.37 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 588.396 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.883963918989e+02, best bound 5.883963918989e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:24:12 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x21caf129
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.277408e+02, 62 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  327.74082    0   15          -  327.74082      -     -    0s
+H    0     0                     643.0999555  327.74082  49.0%     -    0s
+     0     0  351.66983    0    7  643.09996  351.66983  45.3%     -    0s
+     0     0  571.84537    0   30  643.09996  571.84537  11.1%     -    0s
+H    0     0                     587.6952214  571.84537  2.70%     -    0s
+     0     0  584.05922    0   30  587.69522  584.05922  0.62%     -    0s
+     0     0  587.69522    0   32  587.69522  587.69522  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 1
+  StrongCG: 1
+  Flow cover: 3
+  RLT: 2
+
+Explored 1 nodes (131 simplex iterations) in 0.23 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 587.695 643.1 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.876952213579e+02, best bound 5.876952213579e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:24:13 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x21caf129
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.277408e+02, 62 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  327.74082    0   15          -  327.74082      -     -    0s
+H    0     0                     643.0999555  327.74082  49.0%     -    0s
+     0     0  351.66983    0    7  643.09996  351.66983  45.3%     -    0s
+     0     0  571.84537    0   30  643.09996  571.84537  11.1%     -    0s
+H    0     0                     587.6952214  571.84537  2.70%     -    0s
+     0     0  584.05922    0   30  587.69522  584.05922  0.62%     -    0s
+     0     0  587.69522    0   32  587.69522  587.69522  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 1
+  StrongCG: 1
+  Flow cover: 3
+  RLT: 2
+
+Explored 1 nodes (131 simplex iterations) in 0.19 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 587.695 643.1 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.876952213579e+02, best bound 5.876952213579e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:24:13 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x14e3ead5
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.328173e+02, 61 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  332.81734    0   20          -  332.81734      -     -    0s
+     0     0  358.79167    0   13          -  358.79167      -     -    0s
+H    0     0                     595.0129880  359.89164  39.5%     -    0s
+     0     0  415.67609    0   24  595.01299  415.67609  30.1%     -    0s
+     0     0  538.35384    0   35  595.01299  538.35384  9.52%     -    0s
+
+Cutting planes:
+  MIR: 15
+  StrongCG: 3
+  Flow cover: 8
+  Inf proof: 2
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (142 simplex iterations) in 0.28 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 595.013 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.950129879898e+02, best bound 5.950129879898e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:28:24 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x6a8fdea3
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.267558e+02, 63 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  326.75580    0   20          -  326.75580      -     -    0s
+     0     0  350.50720    0   13          -  350.50720      -     -    0s
+H    0     0                     588.3963919  357.40053  39.3%     -    0s
+     0     0  409.28479    0   24  588.39639  409.28479  30.4%     -    0s
+     0     0  431.12383    0   35  588.39639  431.12383  26.7%     -    0s
+
+Cutting planes:
+  MIR: 14
+  StrongCG: 3
+  Flow cover: 11
+  Inf proof: 3
+  Mod-K: 4
+  RLT: 2
+
+Explored 1 nodes (145 simplex iterations) in 0.30 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 588.396 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.883963918989e+02, best bound 5.883963918989e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:28:25 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x6a8fdea3
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.267558e+02, 63 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  326.75580    0   20          -  326.75580      -     -    0s
+     0     0  350.50720    0   13          -  350.50720      -     -    0s
+H    0     0                     588.3963919  357.40053  39.3%     -    0s
+     0     0  409.28479    0   24  588.39639  409.28479  30.4%     -    0s
+     0     0  431.12383    0   35  588.39639  431.12383  26.7%     -    0s
+
+Cutting planes:
+  MIR: 14
+  StrongCG: 3
+  Flow cover: 11
+  Inf proof: 3
+  Mod-K: 4
+  RLT: 2
+
+Explored 1 nodes (145 simplex iterations) in 0.30 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 588.396 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.883963918989e+02, best bound 5.883963918989e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:28:25 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x21caf129
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.277408e+02, 62 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  327.74082    0   15          -  327.74082      -     -    0s
+H    0     0                     643.0999555  327.74082  49.0%     -    0s
+     0     0  351.66983    0    7  643.09996  351.66983  45.3%     -    0s
+     0     0  571.84537    0   30  643.09996  571.84537  11.1%     -    0s
+H    0     0                     587.6952214  571.84537  2.70%     -    0s
+     0     0  584.05922    0   30  587.69522  584.05922  0.62%     -    0s
+     0     0  587.69522    0   32  587.69522  587.69522  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 1
+  StrongCG: 1
+  Flow cover: 3
+  RLT: 2
+
+Explored 1 nodes (131 simplex iterations) in 0.33 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 587.695 643.1 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.876952213579e+02, best bound 5.876952213579e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:28:26 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x21caf129
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.277408e+02, 62 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  327.74082    0   15          -  327.74082      -     -    0s
+H    0     0                     643.0999555  327.74082  49.0%     -    0s
+     0     0  351.66983    0    7  643.09996  351.66983  45.3%     -    0s
+     0     0  571.84537    0   30  643.09996  571.84537  11.1%     -    0s
+H    0     0                     587.6952214  571.84537  2.70%     -    0s
+     0     0  584.05922    0   30  587.69522  584.05922  0.62%     -    0s
+     0     0  587.69522    0   32  587.69522  587.69522  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 1
+  StrongCG: 1
+  Flow cover: 3
+  RLT: 2
+
+Explored 1 nodes (131 simplex iterations) in 0.21 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 587.695 643.1 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.876952213579e+02, best bound 5.876952213579e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:28:26 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x14e3ead5
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.328173e+02, 61 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  332.81734    0   20          -  332.81734      -     -    0s
+     0     0  358.79167    0   13          -  358.79167      -     -    0s
+H    0     0                     595.0129880  359.89164  39.5%     -    0s
+     0     0  415.67609    0   24  595.01299  415.67609  30.1%     -    0s
+     0     0  538.35384    0   35  595.01299  538.35384  9.52%     -    0s
+
+Cutting planes:
+  MIR: 15
+  StrongCG: 3
+  Flow cover: 8
+  Inf proof: 2
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (142 simplex iterations) in 0.28 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 595.013 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.950129879898e+02, best bound 5.950129879898e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:28:27 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x14e3ead5
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.328173e+02, 61 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  332.81734    0   20          -  332.81734      -     -    0s
+     0     0  358.79167    0   13          -  358.79167      -     -    0s
+H    0     0                     595.0129880  359.89164  39.5%     -    0s
+     0     0  415.67609    0   24  595.01299  415.67609  30.1%     -    0s
+     0     0  538.35384    0   35  595.01299  538.35384  9.52%     -    0s
+
+Cutting planes:
+  MIR: 15
+  StrongCG: 3
+  Flow cover: 8
+  Inf proof: 2
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (142 simplex iterations) in 0.29 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 595.013 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.950129879898e+02, best bound 5.950129879898e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:07 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x6a8fdea3
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.267558e+02, 63 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  326.75580    0   20          -  326.75580      -     -    0s
+     0     0  350.50720    0   13          -  350.50720      -     -    0s
+H    0     0                     588.3963919  357.40053  39.3%     -    0s
+     0     0  409.28479    0   24  588.39639  409.28479  30.4%     -    0s
+     0     0  431.12383    0   35  588.39639  431.12383  26.7%     -    0s
+
+Cutting planes:
+  MIR: 14
+  StrongCG: 3
+  Flow cover: 11
+  Inf proof: 3
+  Mod-K: 4
+  RLT: 2
+
+Explored 1 nodes (145 simplex iterations) in 0.27 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 588.396 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.883963918989e+02, best bound 5.883963918989e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:08 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x6a8fdea3
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.267558e+02, 63 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  326.75580    0   20          -  326.75580      -     -    0s
+     0     0  350.50720    0   13          -  350.50720      -     -    0s
+H    0     0                     588.3963919  357.40053  39.3%     -    0s
+     0     0  409.28479    0   24  588.39639  409.28479  30.4%     -    0s
+     0     0  431.12383    0   35  588.39639  431.12383  26.7%     -    0s
+
+Cutting planes:
+  MIR: 14
+  StrongCG: 3
+  Flow cover: 11
+  Inf proof: 3
+  Mod-K: 4
+  RLT: 2
+
+Explored 1 nodes (145 simplex iterations) in 0.35 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 588.396 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.883963918989e+02, best bound 5.883963918989e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:08 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x21caf129
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.277408e+02, 62 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  327.74082    0   15          -  327.74082      -     -    0s
+H    0     0                     643.0999555  327.74082  49.0%     -    0s
+     0     0  351.66983    0    7  643.09996  351.66983  45.3%     -    0s
+     0     0  571.84537    0   30  643.09996  571.84537  11.1%     -    0s
+H    0     0                     587.6952214  571.84537  2.70%     -    0s
+     0     0  584.05922    0   30  587.69522  584.05922  0.62%     -    0s
+     0     0  587.69522    0   32  587.69522  587.69522  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 1
+  StrongCG: 1
+  Flow cover: 3
+  RLT: 2
+
+Explored 1 nodes (131 simplex iterations) in 0.20 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 587.695 643.1 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.876952213579e+02, best bound 5.876952213579e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:08 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x21caf129
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.277408e+02, 62 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  327.74082    0   15          -  327.74082      -     -    0s
+H    0     0                     643.0999555  327.74082  49.0%     -    0s
+     0     0  351.66983    0    7  643.09996  351.66983  45.3%     -    0s
+     0     0  571.84537    0   30  643.09996  571.84537  11.1%     -    0s
+H    0     0                     587.6952214  571.84537  2.70%     -    0s
+     0     0  584.05922    0   30  587.69522  584.05922  0.62%     -    0s
+     0     0  587.69522    0   32  587.69522  587.69522  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 1
+  StrongCG: 1
+  Flow cover: 3
+  RLT: 2
+
+Explored 1 nodes (131 simplex iterations) in 0.19 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 587.695 643.1 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.876952213579e+02, best bound 5.876952213579e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:09 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x14e3ead5
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.328173e+02, 61 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  332.81734    0   20          -  332.81734      -     -    0s
+     0     0  358.79167    0   13          -  358.79167      -     -    0s
+H    0     0                     595.0129880  359.89164  39.5%     -    0s
+     0     0  415.67609    0   24  595.01299  415.67609  30.1%     -    0s
+     0     0  538.35384    0   35  595.01299  538.35384  9.52%     -    0s
+
+Cutting planes:
+  MIR: 15
+  StrongCG: 3
+  Flow cover: 8
+  Inf proof: 2
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (142 simplex iterations) in 0.23 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 595.013 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.950129879898e+02, best bound 5.950129879898e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:09 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x14e3ead5
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.328173e+02, 61 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  332.81734    0   20          -  332.81734      -     -    0s
+     0     0  358.79167    0   13          -  358.79167      -     -    0s
+H    0     0                     595.0129880  359.89164  39.5%     -    0s
+     0     0  415.67609    0   24  595.01299  415.67609  30.1%     -    0s
+     0     0  538.35384    0   35  595.01299  538.35384  9.52%     -    0s
+
+Cutting planes:
+  MIR: 15
+  StrongCG: 3
+  Flow cover: 8
+  Inf proof: 2
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (142 simplex iterations) in 0.23 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 595.013 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.950129879898e+02, best bound 5.950129879898e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:09 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0xcd9269e8
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.373285e+02, 61 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  337.32848    0   20          -  337.32848      -     -    0s
+     0     0  365.24353    0   13          -  365.24353      -     -    0s
+H    0     0                     976.2251107  365.24353  62.6%     -    0s
+     0     0  577.99599    0   32  976.22511  577.99599  40.8%     -    0s
+     0     0  601.24891    0   34  976.22511  601.24891  38.4%     -    0s
+H    0     0                     609.6670876  601.24891  1.38%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  Cover: 1
+  MIR: 15
+  StrongCG: 2
+  Flow cover: 7
+  Inf proof: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (145 simplex iterations) in 0.26 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 609.667 976.225 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 6.096670875788e+02, best bound 6.096670875788e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:10 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0xcd9269e8
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.373285e+02, 61 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  337.32848    0   20          -  337.32848      -     -    0s
+     0     0  365.24353    0   13          -  365.24353      -     -    0s
+H    0     0                     976.2251107  365.24353  62.6%     -    0s
+     0     0  577.99599    0   32  976.22511  577.99599  40.8%     -    0s
+     0     0  601.24891    0   34  976.22511  601.24891  38.4%     -    0s
+H    0     0                     609.6670876  601.24891  1.38%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  Cover: 1
+  MIR: 15
+  StrongCG: 2
+  Flow cover: 7
+  Inf proof: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (145 simplex iterations) in 0.25 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 609.667 976.225 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 6.096670875788e+02, best bound 6.096670875788e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:10 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x534dcdbd
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.407837e+02, 61 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  340.78375    0   20          -  340.78375      -     -    0s
+     0     0  365.41481    0   13          -  365.41481      -     -    0s
+H    0     0                     959.5591379  367.99579  61.6%     -    0s
+     0     0  420.33458    0   32  959.55914  420.33458  56.2%     -    0s
+     0     0  462.52307    0   34  959.55914  462.52307  51.8%     -    0s
+H    0     0                     663.2505468  578.59532  12.8%     -    0s
+     0     0  592.21657    0   20  663.25055  592.21657  10.7%     -    0s
+     0     0  592.21657    0   14  663.25055  592.21657  10.7%     -    0s
+     0     0  592.21657    0   21  663.25055  592.21657  10.7%     -    0s
+     0     0  592.21657    0   32  663.25055  592.21657  10.7%     -    0s
+     0     0  592.21657    0   20  663.25055  592.21657  10.7%     -    0s
+     0     0  592.21657    0   19  663.25055  592.21657  10.7%     -    0s
+H    0     0                     605.8159159  592.21657  2.24%     -    0s
+     0     0  605.81592    0   21  605.81592  605.81592  0.00%     -    0s
+
+Cutting planes:
+  Cover: 1
+  MIR: 10
+  StrongCG: 3
+  Flow cover: 6
+  Inf proof: 1
+  Zero half: 1
+
+Explored 1 nodes (295 simplex iterations) in 0.41 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 3: 605.816 663.251 959.559 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 6.058159158676e+02, best bound 6.058159158676e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:10 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x534dcdbd
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.407837e+02, 61 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  340.78375    0   20          -  340.78375      -     -    0s
+     0     0  365.41481    0   13          -  365.41481      -     -    0s
+H    0     0                     959.5591379  367.99579  61.6%     -    0s
+     0     0  420.33458    0   32  959.55914  420.33458  56.2%     -    0s
+     0     0  462.52307    0   34  959.55914  462.52307  51.8%     -    0s
+H    0     0                     663.2505468  578.59532  12.8%     -    0s
+     0     0  592.21657    0   20  663.25055  592.21657  10.7%     -    0s
+     0     0  592.21657    0   14  663.25055  592.21657  10.7%     -    0s
+     0     0  592.21657    0   21  663.25055  592.21657  10.7%     -    0s
+     0     0  592.21657    0   32  663.25055  592.21657  10.7%     -    0s
+     0     0  592.21657    0   20  663.25055  592.21657  10.7%     -    0s
+     0     0  592.21657    0   19  663.25055  592.21657  10.7%     -    0s
+H    0     0                     605.8159159  592.21657  2.24%     -    0s
+     0     0  605.81592    0   21  605.81592  605.81592  0.00%     -    0s
+
+Cutting planes:
+  Cover: 1
+  MIR: 10
+  StrongCG: 3
+  Flow cover: 6
+  Inf proof: 1
+  Zero half: 1
+
+Explored 1 nodes (295 simplex iterations) in 0.40 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 3: 605.816 663.251 959.559 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 6.058159158676e+02, best bound 6.058159158676e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:11 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x377618e2
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.06s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.608428e+02, 56 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  360.84283    0   14          -  360.84283      -     -    0s
+     0     0  386.51815    0   21          -  386.51815      -     -    0s
+     0     0  449.32252    0   25          -  449.32252      -     -    0s
+     0     0  471.02951    0   26          -  471.02951      -     -    0s
+     0     0  471.02951    0   37          -  471.02951      -     -    0s
+H    0     0                     688.7420768  471.02951  31.6%     -    0s
+     0     0  471.02951    0   38  688.74208  471.02951  31.6%     -    0s
+H    0     0                     620.0892502  471.02951  24.0%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 9
+  StrongCG: 2
+  Flow cover: 8
+  GUB cover: 1
+  Mod-K: 3
+  RLT: 3
+
+Explored 1 nodes (163 simplex iterations) in 0.28 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 620.089 688.742 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 6.200892502244e+02, best bound 6.200892502244e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:11 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x377618e2
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.608428e+02, 56 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  360.84283    0   14          -  360.84283      -     -    0s
+     0     0  386.51815    0   21          -  386.51815      -     -    0s
+     0     0  449.32252    0   25          -  449.32252      -     -    0s
+     0     0  471.02951    0   26          -  471.02951      -     -    0s
+     0     0  471.02951    0   37          -  471.02951      -     -    0s
+H    0     0                     688.7420768  471.02951  31.6%     -    0s
+     0     0  471.02951    0   38  688.74208  471.02951  31.6%     -    0s
+H    0     0                     620.0892502  471.02951  24.0%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 9
+  StrongCG: 2
+  Flow cover: 8
+  GUB cover: 1
+  Mod-K: 3
+  RLT: 3
+
+Explored 1 nodes (163 simplex iterations) in 0.24 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 620.089 688.742 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 6.200892502244e+02, best bound 6.200892502244e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:11 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0xccaa240b
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.807692e+02, 66 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  380.76925    0    9          -  380.76925      -     -    0s
+     0     0  383.34892    0   15          -  383.34892      -     -    0s
+H    0     0                     985.2979388  383.34892  61.1%     -    0s
+     0     0  436.51227    0   20  985.29794  436.51227  55.7%     -    0s
+     0     0  472.56305    0   22  985.29794  472.56305  52.0%     -    0s
+     0     0  472.56305    0   30  985.29794  472.56305  52.0%     -    0s
+H    0     0                     718.0961134  472.56305  34.2%     -    0s
+H    0     0                     632.6169488  472.56305  25.3%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 3
+  StrongCG: 3
+  Flow cover: 8
+  Inf proof: 1
+  Zero half: 1
+
+Explored 1 nodes (145 simplex iterations) in 0.26 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 3: 632.617 718.096 985.298 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 6.326169488258e+02, best bound 6.326169488258e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:12 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0xccaa240b
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.807692e+02, 66 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  380.76925    0    9          -  380.76925      -     -    0s
+     0     0  383.34892    0   15          -  383.34892      -     -    0s
+H    0     0                     985.2979388  383.34892  61.1%     -    0s
+     0     0  436.51227    0   20  985.29794  436.51227  55.7%     -    0s
+     0     0  472.56305    0   22  985.29794  472.56305  52.0%     -    0s
+     0     0  472.56305    0   30  985.29794  472.56305  52.0%     -    0s
+H    0     0                     718.0961134  472.56305  34.2%     -    0s
+H    0     0                     632.6169488  472.56305  25.3%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 3
+  StrongCG: 3
+  Flow cover: 8
+  Inf proof: 1
+  Zero half: 1
+
+Explored 1 nodes (145 simplex iterations) in 0.31 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 3: 632.617 718.096 985.298 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 6.326169488258e+02, best bound 6.326169488258e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:12 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x5c5f5e0c
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.05s
+Presolved: 101 rows, 121 columns, 814 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 3.965426e+02, 68 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  396.54264    0   14          -  396.54264      -     -    0s
+H    0     0                     748.6673713  396.54264  47.0%     -    0s
+     0     0  470.60101    0   16  748.66737  470.60101  37.1%     -    0s
+     0     0  567.80339    0   34  748.66737  567.80339  24.2%     -    0s
+     0     0  748.66737    0   31  748.66737  748.66737  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 4
+  MIR: 2
+  Flow cover: 2
+
+Explored 1 nodes (143 simplex iterations) in 0.21 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 748.667 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.486673712729e+02, best bound 7.486673712729e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:12 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x5c5f5e0c
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.03s
+Presolved: 101 rows, 121 columns, 814 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 3.965426e+02, 68 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  396.54264    0   14          -  396.54264      -     -    0s
+H    0     0                     748.6673713  396.54264  47.0%     -    0s
+     0     0  470.60101    0   16  748.66737  470.60101  37.1%     -    0s
+     0     0  567.80339    0   34  748.66737  567.80339  24.2%     -    0s
+     0     0  748.66737    0   31  748.66737  748.66737  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 4
+  MIR: 2
+  Flow cover: 2
+
+Explored 1 nodes (143 simplex iterations) in 0.20 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 748.667 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 7.486673712729e+02, best bound 7.486673712729e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:13 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x737f20a9
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [1e+02, 1e+05]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 68 rows and 93 columns
+Presolve time: 0.06s
+Presolved: 99 rows, 117 columns, 808 nonzeros
+Variable types: 0 continuous, 117 integer (65 binary)
+
+Root relaxation: objective 4.980622e+02, 64 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  498.06221    0   20          -  498.06221      -     -    0s
+     0     0  593.23494    0   19          -  593.23494      -     -    0s
+H    0     0                     979.0100869  593.23494  39.4%     -    0s
+     0     0  687.05553    0   27  979.01009  687.05553  29.8%     -    0s
+     0     0  699.82031    0   27  979.01009  699.82031  28.5%     -    0s
+     0     2  699.82031    0   27  979.01009  699.82031  28.5%     -    0s
+*   34     0              13     926.5728065  911.53065  1.62%  12.7    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 3
+  StrongCG: 2
+  RLT: 2
+
+Explored 36 nodes (585 simplex iterations) in 0.50 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 926.573 979.01 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 9.265728065237e+02, best bound 9.265728065237e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:13 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x737f20a9
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [1e+02, 1e+05]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 68 rows and 93 columns
+Presolve time: 0.04s
+Presolved: 99 rows, 117 columns, 808 nonzeros
+Variable types: 0 continuous, 117 integer (65 binary)
+
+Root relaxation: objective 4.980622e+02, 64 iterations, 0.02 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  498.06221    0   20          -  498.06221      -     -    0s
+     0     0  593.23494    0   19          -  593.23494      -     -    0s
+H    0     0                     979.0100869  593.23494  39.4%     -    0s
+     0     0  687.05553    0   27  979.01009  687.05553  29.8%     -    0s
+     0     0  699.82031    0   27  979.01009  699.82031  28.5%     -    0s
+     0     2  699.82031    0   27  979.01009  699.82031  28.5%     -    0s
+*   34     0              13     926.5728065  911.53065  1.62%  12.7    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 3
+  StrongCG: 2
+  RLT: 2
+
+Explored 36 nodes (585 simplex iterations) in 0.69 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 926.573 979.01 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 9.265728065237e+02, best bound 9.265728065237e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:14 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1365 nonzeros
+Model fingerprint: 0x5996c9e3
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [2e+02, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 99 rows and 146 columns
+Presolve time: 0.04s
+Presolved: 68 rows, 64 columns, 389 nonzeros
+Variable types: 0 continuous, 64 integer (36 binary)
+
+Root relaxation: objective 4.762871e+02, 33 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  476.28711    0    9          -  476.28711      -     -    0s
+     0     0  718.97487    0   10          -  718.97487      -     -    0s
+H    0     0                     940.8714547  718.97487  23.6%     -    0s
+     0     0  940.87145    0   33  940.87145  940.87145  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  Implied bound: 1
+  MIR: 9
+  StrongCG: 2
+  Flow cover: 3
+
+Explored 1 nodes (75 simplex iterations) in 0.12 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 940.871 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 9.408714547093e+02, best bound 9.408714547093e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:14 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1365 nonzeros
+Model fingerprint: 0x5996c9e3
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [2e+02, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 99 rows and 146 columns
+Presolve time: 0.04s
+Presolved: 68 rows, 64 columns, 389 nonzeros
+Variable types: 0 continuous, 64 integer (36 binary)
+
+Root relaxation: objective 4.762871e+02, 33 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  476.28711    0    9          -  476.28711      -     -    0s
+     0     0  718.97487    0   10          -  718.97487      -     -    0s
+H    0     0                     940.8714547  718.97487  23.6%     -    0s
+     0     0  940.87145    0   33  940.87145  940.87145  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  Implied bound: 1
+  MIR: 9
+  StrongCG: 2
+  Flow cover: 3
+
+Explored 1 nodes (75 simplex iterations) in 0.16 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 940.871 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 9.408714547093e+02, best bound 9.408714547093e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:14 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1369 nonzeros
+Model fingerprint: 0x4f965c3e
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [2e+02, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 6 rows and 67 columns
+Presolve time: 0.00s
+
+Explored 0 nodes (0 simplex iterations) in 0.00 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:14 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1369 nonzeros
+Model fingerprint: 0x4f965c3e
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 1e+04]
+  Objective range  [2e+02, 2e+06]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 6 rows and 67 columns
+Presolve time: 0.00s
+
+Explored 0 nodes (0 simplex iterations) in 0.00 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:37:15 2024
+
+Academic license - for non-commercial use only
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:52:24 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x6a8fdea3
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.267558e+02, 63 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  326.75580    0   20          -  326.75580      -     -    0s
+     0     0  350.50720    0   13          -  350.50720      -     -    0s
+H    0     0                     588.3963919  357.40053  39.3%     -    0s
+     0     0  409.28479    0   24  588.39639  409.28479  30.4%     -    0s
+     0     0  431.12383    0   35  588.39639  431.12383  26.7%     -    0s
+
+Cutting planes:
+  MIR: 14
+  StrongCG: 3
+  Flow cover: 11
+  Inf proof: 3
+  Mod-K: 4
+  RLT: 2
+
+Explored 1 nodes (145 simplex iterations) in 0.36 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 588.396 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.883963918989e+02, best bound 5.883963918989e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:52:24 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x6a8fdea3
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.267558e+02, 63 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  326.75580    0   20          -  326.75580      -     -    0s
+     0     0  350.50720    0   13          -  350.50720      -     -    0s
+H    0     0                     588.3963919  357.40053  39.3%     -    0s
+     0     0  409.28479    0   24  588.39639  409.28479  30.4%     -    0s
+     0     0  431.12383    0   35  588.39639  431.12383  26.7%     -    0s
+
+Cutting planes:
+  MIR: 14
+  StrongCG: 3
+  Flow cover: 11
+  Inf proof: 3
+  Mod-K: 4
+  RLT: 2
+
+Explored 1 nodes (145 simplex iterations) in 0.25 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 588.396 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.883963918989e+02, best bound 5.883963918989e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:52:25 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x21caf129
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.277408e+02, 62 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  327.74082    0   15          -  327.74082      -     -    0s
+H    0     0                     643.0999555  327.74082  49.0%     -    0s
+     0     0  351.66983    0    7  643.09996  351.66983  45.3%     -    0s
+     0     0  571.84537    0   30  643.09996  571.84537  11.1%     -    0s
+H    0     0                     587.6952214  571.84537  2.70%     -    0s
+     0     0  584.05922    0   30  587.69522  584.05922  0.62%     -    0s
+     0     0  587.69522    0   32  587.69522  587.69522  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 1
+  StrongCG: 1
+  Flow cover: 3
+  RLT: 2
+
+Explored 1 nodes (131 simplex iterations) in 0.20 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 587.695 643.1 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.876952213579e+02, best bound 5.876952213579e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:52:25 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x21caf129
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.277408e+02, 62 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  327.74082    0   15          -  327.74082      -     -    0s
+H    0     0                     643.0999555  327.74082  49.0%     -    0s
+     0     0  351.66983    0    7  643.09996  351.66983  45.3%     -    0s
+     0     0  571.84537    0   30  643.09996  571.84537  11.1%     -    0s
+H    0     0                     587.6952214  571.84537  2.70%     -    0s
+     0     0  584.05922    0   30  587.69522  584.05922  0.62%     -    0s
+     0     0  587.69522    0   32  587.69522  587.69522  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 1
+  StrongCG: 1
+  Flow cover: 3
+  RLT: 2
+
+Explored 1 nodes (131 simplex iterations) in 0.19 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 587.695 643.1 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.876952213579e+02, best bound 5.876952213579e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:52:25 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x14e3ead5
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.328173e+02, 61 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  332.81734    0   20          -  332.81734      -     -    0s
+     0     0  358.79167    0   13          -  358.79167      -     -    0s
+H    0     0                     595.0129880  359.89164  39.5%     -    0s
+     0     0  415.67609    0   24  595.01299  415.67609  30.1%     -    0s
+     0     0  538.35384    0   35  595.01299  538.35384  9.52%     -    0s
+
+Cutting planes:
+  MIR: 15
+  StrongCG: 3
+  Flow cover: 8
+  Inf proof: 2
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (142 simplex iterations) in 0.28 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 595.013 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.950129879898e+02, best bound 5.950129879898e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:52:26 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x14e3ead5
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.328173e+02, 61 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  332.81734    0   20          -  332.81734      -     -    0s
+     0     0  358.79167    0   13          -  358.79167      -     -    0s
+H    0     0                     595.0129880  359.89164  39.5%     -    0s
+     0     0  415.67609    0   24  595.01299  415.67609  30.1%     -    0s
+     0     0  538.35384    0   35  595.01299  538.35384  9.52%     -    0s
+
+Cutting planes:
+  MIR: 15
+  StrongCG: 3
+  Flow cover: 8
+  Inf proof: 2
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (142 simplex iterations) in 0.29 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 595.013 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.950129879898e+02, best bound 5.950129879898e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:52:26 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0xcd9269e8
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.373285e+02, 61 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  337.32848    0   20          -  337.32848      -     -    0s
+     0     0  365.24353    0   13          -  365.24353      -     -    0s
+H    0     0                     976.2251107  365.24353  62.6%     -    0s
+     0     0  577.99599    0   32  976.22511  577.99599  40.8%     -    0s
+     0     0  601.24891    0   34  976.22511  601.24891  38.4%     -    0s
+H    0     0                     609.6670876  601.24891  1.38%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  Cover: 1
+  MIR: 15
+  StrongCG: 2
+  Flow cover: 7
+  Inf proof: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (145 simplex iterations) in 0.31 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 609.667 976.225 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 6.096670875788e+02, best bound 6.096670875788e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:52:26 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0xcd9269e8
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.373285e+02, 61 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  337.32848    0   20          -  337.32848      -     -    0s
+     0     0  365.24353    0   13          -  365.24353      -     -    0s
+H    0     0                     976.2251107  365.24353  62.6%     -    0s
+     0     0  577.99599    0   32  976.22511  577.99599  40.8%     -    0s
+     0     0  601.24891    0   34  976.22511  601.24891  38.4%     -    0s
+H    0     0                     609.6670876  601.24891  1.38%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  Cover: 1
+  MIR: 15
+  StrongCG: 2
+  Flow cover: 7
+  Inf proof: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (145 simplex iterations) in 0.30 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 609.667 976.225 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 6.096670875788e+02, best bound 6.096670875788e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 16:52:27 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1364 nonzeros
+Model fingerprint: 0x534dcdbd
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [1e+00, 5e+01]
+  Objective range  [1e+02, 5e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 846 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 3.407837e+02, 61 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0  340.78375    0   20          -  340.78375      -     -    0s
+     0     0  365.41481    0   13          -  365.41481      -     -    0s
+H    0     0                     959.5591379  367.99579  61.6%     -    0s
+     0     0  420.33458    0   32  959.55914  420.33458  56.2%     -    0s
+     0     0  462.52307    0   34  959.55914  462.52307  51.8%     -    0s
+H    0     0                     663.2505468  578.59532  12.8%     -    0s
+     0     0  592.21657    0   20  663.25055  592.21657  10.7%     -    0s
+     0     0  592.21657    0   14  663.25055  592.21657  10.7%     -    0s
+     0     0  592.21657    0   21  663.25055  592.21657  10.7%     -    0s
+     0     0  592.21657    0   32  663.25055  592.21657  10.7%     -    0s
+     0     0  592.21657    0   20  663.25055  592.21657  10.7%     -    0s
+     0     0  592.21657    0   19  663.25055  592.21657  10.7%     -    0s
+H    0     0                     605.8159159  592.21657  2.24%     -    0s
+     0     0  605.81592    0   21  605.81592  605.81592  0.00%     -    0s
+
+Cutting planes:
+  Cover: 1
+  MIR: 10
+  StrongCG: 3
+  Flow cover: 6
+  Inf proof: 1
+  Zero half: 1
+
+Explored 1 nodes (295 simplex iterations) in 0.50 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 3: 605.816 663.251 959.559 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 6.058159158676e+02, best bound 6.058159158676e+02, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:03:39 2024
+
+Academic license - for non-commercial use only
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:08:33 2024
+
+Academic license - for non-commercial use only
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:08:45 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x4b7a1cea
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 848 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 2.021421e+03, 53 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2021.42102    0   12          - 2021.42102      -     -    0s
+H    0     0                    2261.1963919 2021.42102  10.6%     -    0s
+     0     0 2021.72034    0   16 2261.19639 2021.72034  10.6%     -    0s
+     0     0 2261.19639    0   25 2261.19639 2261.19639  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 4
+  MIR: 9
+  StrongCG: 5
+  Flow cover: 2
+  Mod-K: 3
+  RLT: 2
+
+Explored 1 nodes (95 simplex iterations) in 0.21 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2261.2 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.261196391899e+03, best bound 2.261196391899e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:08:46 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x4b7a1cea
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 848 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 2.021421e+03, 53 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2021.42102    0   12          - 2021.42102      -     -    0s
+H    0     0                    2261.1963919 2021.42102  10.6%     -    0s
+     0     0 2021.72034    0   16 2261.19639 2021.72034  10.6%     -    0s
+     0     0 2261.19639    0   25 2261.19639 2261.19639  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 4
+  MIR: 9
+  StrongCG: 5
+  Flow cover: 2
+  Mod-K: 3
+  RLT: 2
+
+Explored 1 nodes (95 simplex iterations) in 0.16 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2261.2 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.261196391899e+03, best bound 2.261196391899e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:08:46 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x849bb5b4
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.090810e+03, 52 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2090.80995    0   17          - 2090.80995      -     -    0s
+H    0     0                    2400.1140777 2090.80995  12.9%     -    0s
+     0     0 2130.78551    0   12 2400.11408 2130.78551  11.2%     -    0s
+     0     0 2180.04511    0   36 2400.11408 2180.04511  9.17%     -    0s
+     0     0 2238.67688    0   34 2400.11408 2238.67688  6.73%     -    0s
+H    0     0                    2365.9018976 2238.67688  5.38%     -    0s
+
+Cutting planes:
+  MIR: 8
+  StrongCG: 1
+  Flow cover: 9
+  GUB cover: 1
+  Zero half: 2
+
+Explored 1 nodes (146 simplex iterations) in 0.26 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 2365.9 2400.11 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.365901897627e+03, best bound 2.365901897627e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:08:47 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x849bb5b4
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.07s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.090810e+03, 52 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2090.80995    0   17          - 2090.80995      -     -    0s
+H    0     0                    2400.1140777 2090.80995  12.9%     -    0s
+     0     0 2130.78551    0   12 2400.11408 2130.78551  11.2%     -    0s
+     0     0 2180.04511    0   36 2400.11408 2180.04511  9.17%     -    0s
+     0     0 2238.67688    0   34 2400.11408 2238.67688  6.73%     -    0s
+H    0     0                    2365.9018976 2238.67688  5.38%     -    0s
+
+Cutting planes:
+  MIR: 8
+  StrongCG: 1
+  Flow cover: 9
+  GUB cover: 1
+  Zero half: 2
+
+Explored 1 nodes (146 simplex iterations) in 0.33 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 2365.9 2400.11 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.365901897627e+03, best bound 2.365901897627e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:08:47 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xe900d6b5
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.05s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.378461e+03, 55 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2378.46069    0    9          - 2378.46069      -     -    0s
+     0     0 2439.11472    0   17          - 2439.11472      -     -    0s
+H    0     0                    2674.5974919 2439.11472  8.80%     -    0s
+     0     0 2500.18454    0    9 2674.59749 2500.18454  6.52%     -    0s
+     0     0 2500.18454    0    7 2674.59749 2500.18454  6.52%     -    0s
+     0     0 2500.18454    0   15 2674.59749 2500.18454  6.52%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  Implied bound: 4
+  MIR: 7
+  StrongCG: 3
+  Flow cover: 6
+  Mod-K: 5
+  RLT: 3
+  Relax-and-lift: 1
+
+Explored 1 nodes (136 simplex iterations) in 0.27 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2674.6 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.674597491905e+03, best bound 2.674597491905e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:08:47 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xe900d6b5
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.03s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.378461e+03, 55 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2378.46069    0    9          - 2378.46069      -     -    0s
+     0     0 2439.11472    0   17          - 2439.11472      -     -    0s
+H    0     0                    2674.5974919 2439.11472  8.80%     -    0s
+     0     0 2500.18454    0    9 2674.59749 2500.18454  6.52%     -    0s
+     0     0 2500.18454    0    7 2674.59749 2500.18454  6.52%     -    0s
+     0     0 2500.18454    0   15 2674.59749 2500.18454  6.52%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  Implied bound: 4
+  MIR: 7
+  StrongCG: 3
+  Flow cover: 6
+  Mod-K: 5
+  RLT: 3
+  Relax-and-lift: 1
+
+Explored 1 nodes (136 simplex iterations) in 0.21 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2674.6 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.674597491905e+03, best bound 2.674597491905e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:08:48 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xf18f66c1
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [5e-01, 5e+01]
+  Objective range  [1e+02, 2e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.778199e+03, 56 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2778.19884    0   18          - 2778.19884      -     -    0s
+     0     0 2798.76566    0   23          - 2798.76566      -     -    0s
+     0     0 2817.72206    0   24          - 2817.72206      -     -    0s
+     0     0 2830.48629    0   34          - 2830.48629      -     -    0s
+H    0     0                    3043.9418621 2830.48629  7.01%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 15
+  StrongCG: 2
+  Flow cover: 3
+  Inf proof: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 3
+
+Explored 1 nodes (127 simplex iterations) in 0.23 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 3043.94 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 3.043941862101e+03, best bound 3.043941862101e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:08:48 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xf18f66c1
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [5e-01, 5e+01]
+  Objective range  [1e+02, 2e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.778199e+03, 56 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2778.19884    0   18          - 2778.19884      -     -    0s
+     0     0 2798.76566    0   23          - 2798.76566      -     -    0s
+     0     0 2817.72206    0   24          - 2817.72206      -     -    0s
+     0     0 2830.48629    0   34          - 2830.48629      -     -    0s
+H    0     0                    3043.9418621 2830.48629  7.01%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 15
+  StrongCG: 2
+  Flow cover: 3
+  Inf proof: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 3
+
+Explored 1 nodes (127 simplex iterations) in 0.25 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 3043.94 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 3.043941862101e+03, best bound 3.043941862101e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:08:48 2024
+
+Academic license - for non-commercial use only
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:46:05 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x4b7a1cea
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 848 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 2.021421e+03, 53 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2021.42102    0   12          - 2021.42102      -     -    0s
+H    0     0                    2261.1963919 2021.42102  10.6%     -    0s
+     0     0 2021.72034    0   16 2261.19639 2021.72034  10.6%     -    0s
+     0     0 2261.19639    0   25 2261.19639 2261.19639  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 4
+  MIR: 9
+  StrongCG: 5
+  Flow cover: 2
+  Mod-K: 3
+  RLT: 2
+
+Explored 1 nodes (95 simplex iterations) in 0.15 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2261.2 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.261196391899e+03, best bound 2.261196391899e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:46:06 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x4b7a1cea
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 848 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 2.021421e+03, 53 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2021.42102    0   12          - 2021.42102      -     -    0s
+H    0     0                    2261.1963919 2021.42102  10.6%     -    0s
+     0     0 2021.72034    0   16 2261.19639 2021.72034  10.6%     -    0s
+     0     0 2261.19639    0   25 2261.19639 2261.19639  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 4
+  MIR: 9
+  StrongCG: 5
+  Flow cover: 2
+  Mod-K: 3
+  RLT: 2
+
+Explored 1 nodes (95 simplex iterations) in 0.20 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2261.2 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.261196391899e+03, best bound 2.261196391899e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:46:06 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x849bb5b4
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.090810e+03, 52 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2090.80995    0   17          - 2090.80995      -     -    0s
+H    0     0                    2400.1140777 2090.80995  12.9%     -    0s
+     0     0 2130.78551    0   12 2400.11408 2130.78551  11.2%     -    0s
+     0     0 2180.04511    0   36 2400.11408 2180.04511  9.17%     -    0s
+     0     0 2238.67688    0   34 2400.11408 2238.67688  6.73%     -    0s
+H    0     0                    2365.9018976 2238.67688  5.38%     -    0s
+
+Cutting planes:
+  MIR: 8
+  StrongCG: 1
+  Flow cover: 9
+  GUB cover: 1
+  Zero half: 2
+
+Explored 1 nodes (146 simplex iterations) in 0.27 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 2365.9 2400.11 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.365901897627e+03, best bound 2.365901897627e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:46:06 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x849bb5b4
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.090810e+03, 52 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2090.80995    0   17          - 2090.80995      -     -    0s
+H    0     0                    2400.1140777 2090.80995  12.9%     -    0s
+     0     0 2130.78551    0   12 2400.11408 2130.78551  11.2%     -    0s
+     0     0 2180.04511    0   36 2400.11408 2180.04511  9.17%     -    0s
+     0     0 2238.67688    0   34 2400.11408 2238.67688  6.73%     -    0s
+H    0     0                    2365.9018976 2238.67688  5.38%     -    0s
+
+Cutting planes:
+  MIR: 8
+  StrongCG: 1
+  Flow cover: 9
+  GUB cover: 1
+  Zero half: 2
+
+Explored 1 nodes (146 simplex iterations) in 0.27 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 2365.9 2400.11 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.365901897627e+03, best bound 2.365901897627e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:46:07 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xe900d6b5
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.03s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.378461e+03, 55 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2378.46069    0    9          - 2378.46069      -     -    0s
+     0     0 2439.11472    0   17          - 2439.11472      -     -    0s
+H    0     0                    2674.5974919 2439.11472  8.80%     -    0s
+     0     0 2500.18454    0    9 2674.59749 2500.18454  6.52%     -    0s
+     0     0 2500.18454    0    7 2674.59749 2500.18454  6.52%     -    0s
+     0     0 2500.18454    0   15 2674.59749 2500.18454  6.52%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  Implied bound: 4
+  MIR: 7
+  StrongCG: 3
+  Flow cover: 6
+  Mod-K: 5
+  RLT: 3
+  Relax-and-lift: 1
+
+Explored 1 nodes (136 simplex iterations) in 0.24 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2674.6 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.674597491905e+03, best bound 2.674597491905e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:46:07 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xe900d6b5
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.378461e+03, 55 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2378.46069    0    9          - 2378.46069      -     -    0s
+     0     0 2439.11472    0   17          - 2439.11472      -     -    0s
+H    0     0                    2674.5974919 2439.11472  8.80%     -    0s
+     0     0 2500.18454    0    9 2674.59749 2500.18454  6.52%     -    0s
+     0     0 2500.18454    0    7 2674.59749 2500.18454  6.52%     -    0s
+     0     0 2500.18454    0   15 2674.59749 2500.18454  6.52%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  Implied bound: 4
+  MIR: 7
+  StrongCG: 3
+  Flow cover: 6
+  Mod-K: 5
+  RLT: 3
+  Relax-and-lift: 1
+
+Explored 1 nodes (136 simplex iterations) in 0.31 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2674.6 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.674597491905e+03, best bound 2.674597491905e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:50:14 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x4b7a1cea
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 848 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 2.021421e+03, 53 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2021.42102    0   12          - 2021.42102      -     -    0s
+H    0     0                    2261.1963919 2021.42102  10.6%     -    0s
+     0     0 2021.72034    0   16 2261.19639 2021.72034  10.6%     -    0s
+     0     0 2261.19639    0   25 2261.19639 2261.19639  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 4
+  MIR: 9
+  StrongCG: 5
+  Flow cover: 2
+  Mod-K: 3
+  RLT: 2
+
+Explored 1 nodes (95 simplex iterations) in 0.20 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2261.2 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.261196391899e+03, best bound 2.261196391899e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:50:15 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x4b7a1cea
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 848 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 2.021421e+03, 53 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2021.42102    0   12          - 2021.42102      -     -    0s
+H    0     0                    2261.1963919 2021.42102  10.6%     -    0s
+     0     0 2021.72034    0   16 2261.19639 2021.72034  10.6%     -    0s
+     0     0 2261.19639    0   25 2261.19639 2261.19639  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 4
+  MIR: 9
+  StrongCG: 5
+  Flow cover: 2
+  Mod-K: 3
+  RLT: 2
+
+Explored 1 nodes (95 simplex iterations) in 0.16 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2261.2 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.261196391899e+03, best bound 2.261196391899e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:50:15 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x849bb5b4
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.090810e+03, 52 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2090.80995    0   17          - 2090.80995      -     -    0s
+H    0     0                    2400.1140777 2090.80995  12.9%     -    0s
+     0     0 2130.78551    0   12 2400.11408 2130.78551  11.2%     -    0s
+     0     0 2180.04511    0   36 2400.11408 2180.04511  9.17%     -    0s
+     0     0 2238.67688    0   34 2400.11408 2238.67688  6.73%     -    0s
+H    0     0                    2365.9018976 2238.67688  5.38%     -    0s
+
+Cutting planes:
+  MIR: 8
+  StrongCG: 1
+  Flow cover: 9
+  GUB cover: 1
+  Zero half: 2
+
+Explored 1 nodes (146 simplex iterations) in 0.25 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 2365.9 2400.11 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.365901897627e+03, best bound 2.365901897627e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:50:16 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x849bb5b4
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.090810e+03, 52 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2090.80995    0   17          - 2090.80995      -     -    0s
+H    0     0                    2400.1140777 2090.80995  12.9%     -    0s
+     0     0 2130.78551    0   12 2400.11408 2130.78551  11.2%     -    0s
+     0     0 2180.04511    0   36 2400.11408 2180.04511  9.17%     -    0s
+     0     0 2238.67688    0   34 2400.11408 2238.67688  6.73%     -    0s
+H    0     0                    2365.9018976 2238.67688  5.38%     -    0s
+
+Cutting planes:
+  MIR: 8
+  StrongCG: 1
+  Flow cover: 9
+  GUB cover: 1
+  Zero half: 2
+
+Explored 1 nodes (146 simplex iterations) in 0.21 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 2365.9 2400.11 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.365901897627e+03, best bound 2.365901897627e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:50:16 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xe900d6b5
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.378461e+03, 55 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2378.46069    0    9          - 2378.46069      -     -    0s
+     0     0 2439.11472    0   17          - 2439.11472      -     -    0s
+H    0     0                    2674.5974919 2439.11472  8.80%     -    0s
+     0     0 2500.18454    0    9 2674.59749 2500.18454  6.52%     -    0s
+     0     0 2500.18454    0    7 2674.59749 2500.18454  6.52%     -    0s
+     0     0 2500.18454    0   15 2674.59749 2500.18454  6.52%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  Implied bound: 4
+  MIR: 7
+  StrongCG: 3
+  Flow cover: 6
+  Mod-K: 5
+  RLT: 3
+  Relax-and-lift: 1
+
+Explored 1 nodes (136 simplex iterations) in 0.22 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2674.6 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.674597491905e+03, best bound 2.674597491905e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:50:16 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xe900d6b5
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.03s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.378461e+03, 55 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2378.46069    0    9          - 2378.46069      -     -    0s
+     0     0 2439.11472    0   17          - 2439.11472      -     -    0s
+H    0     0                    2674.5974919 2439.11472  8.80%     -    0s
+     0     0 2500.18454    0    9 2674.59749 2500.18454  6.52%     -    0s
+     0     0 2500.18454    0    7 2674.59749 2500.18454  6.52%     -    0s
+     0     0 2500.18454    0   15 2674.59749 2500.18454  6.52%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  Implied bound: 4
+  MIR: 7
+  StrongCG: 3
+  Flow cover: 6
+  Mod-K: 5
+  RLT: 3
+  Relax-and-lift: 1
+
+Explored 1 nodes (136 simplex iterations) in 0.21 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2674.6 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.674597491905e+03, best bound 2.674597491905e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:50:17 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xf18f66c1
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [5e-01, 5e+01]
+  Objective range  [1e+02, 2e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.778199e+03, 56 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2778.19884    0   18          - 2778.19884      -     -    0s
+     0     0 2798.76566    0   23          - 2798.76566      -     -    0s
+     0     0 2817.72206    0   24          - 2817.72206      -     -    0s
+     0     0 2830.48629    0   34          - 2830.48629      -     -    0s
+H    0     0                    3043.9418621 2830.48629  7.01%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 15
+  StrongCG: 2
+  Flow cover: 3
+  Inf proof: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 3
+
+Explored 1 nodes (127 simplex iterations) in 0.24 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 3043.94 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 3.043941862101e+03, best bound 3.043941862101e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:50:17 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xf18f66c1
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [5e-01, 5e+01]
+  Objective range  [1e+02, 2e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.778199e+03, 56 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2778.19884    0   18          - 2778.19884      -     -    0s
+     0     0 2798.76566    0   23          - 2798.76566      -     -    0s
+     0     0 2817.72206    0   24          - 2817.72206      -     -    0s
+     0     0 2830.48629    0   34          - 2830.48629      -     -    0s
+H    0     0                    3043.9418621 2830.48629  7.01%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 15
+  StrongCG: 2
+  Flow cover: 3
+  Inf proof: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 3
+
+Explored 1 nodes (127 simplex iterations) in 0.26 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 3043.94 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 3.043941862101e+03, best bound 3.043941862101e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:50:17 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x52766cd6
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [6e-01, 5e+01]
+  Objective range  [1e+02, 2e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.05s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 3.147442e+03, 72 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 3147.44183    0   18          - 3147.44183      -     -    0s
+     0     0 3202.97115    0   29          - 3202.97115      -     -    0s
+     0     0 3227.92326    0   34          - 3227.92326      -     -    0s
+     0     0 3227.92326    0   34          - 3227.92326      -     -    0s
+     0     0 3328.91461    0   26          - 3328.91461      -     -    0s
+     0     0 3328.91461    0   27          - 3328.91461      -     -    0s
+H    0     0                    3708.7246299 3328.91461  10.2%     -    0s
+H    0     0                    3643.7808591 3328.91461  8.64%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 9
+  StrongCG: 3
+  Flow cover: 5
+  Zero half: 2
+  Mod-K: 1
+
+Explored 1 nodes (150 simplex iterations) in 0.33 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 3643.78 3708.72 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 3.643780859051e+03, best bound 3.643780859051e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:50:18 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x52766cd6
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [6e-01, 5e+01]
+  Objective range  [1e+02, 2e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 3.147442e+03, 72 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 3147.44183    0   18          - 3147.44183      -     -    0s
+     0     0 3202.97115    0   29          - 3202.97115      -     -    0s
+     0     0 3227.92326    0   34          - 3227.92326      -     -    0s
+     0     0 3227.92326    0   34          - 3227.92326      -     -    0s
+     0     0 3328.91461    0   26          - 3328.91461      -     -    0s
+     0     0 3328.91461    0   27          - 3328.91461      -     -    0s
+H    0     0                    3708.7246299 3328.91461  10.2%     -    0s
+H    0     0                    3643.7808591 3328.91461  8.64%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 9
+  StrongCG: 3
+  Flow cover: 5
+  Zero half: 2
+  Mod-K: 1
+
+Explored 1 nodes (150 simplex iterations) in 0.29 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 3643.78 3708.72 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 3.643780859051e+03, best bound 3.643780859051e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 17:50:18 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x99a844a8
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [6e-01, 5e+01]
+  Objective range  [1e+02, 2e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 90 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 120 columns, 808 nonzeros
+Variable types: 0 continuous, 120 integer (66 binary)
+
+Root relaxation: objective 3.722087e+03, 67 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 3722.08662    0   20          - 3722.08662      -     -    0s
+     0     0 3804.58756    0   26          - 3804.58756      -     -    0s
+     0     0 3861.04983    0   26          - 3861.04983      -     -    0s
+     0     0 3861.04983    0   26          - 3861.04983      -     -    0s
+     0     2 3880.78096    0   26          - 3880.78096      -     -    0s
+*   20     5               7    4104.8954313 3944.82410  3.90%  12.3    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 3
+  StrongCG: 2
+  Flow cover: 1
+  RLT: 2
+
+Explored 25 nodes (380 simplex iterations) in 0.52 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 4104.9 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 4.104895431277e+03, best bound 4.104895431277e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:46:13 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x98bbcb51
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 848 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 2.020384e+03, 53 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2020.38400    0   12          - 2020.38400      -     -    0s
+H    0     0                    2258.7731631 2020.38400  10.6%     -    0s
+     0     0 2021.05625    0   16 2258.77316 2021.05625  10.5%     -    0s
+     0     0 2258.77316    0   24 2258.77316 2258.77316  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  MIR: 9
+  StrongCG: 5
+  Flow cover: 2
+  Mod-K: 3
+  RLT: 2
+
+Explored 1 nodes (94 simplex iterations) in 0.16 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2258.77 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.258773163108e+03, best bound 2.258773163108e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:46:13 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xec63dc0e
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [6e+01, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.04s
+Presolved: 103 rows, 125 columns, 848 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 1.822815e+03, 75 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 1822.81490    0   12          - 1822.81490      -     -    0s
+     0     0 1898.15771    0   18          - 1898.15771      -     -    0s
+H    0     0                    2118.1227500 1898.15771  10.4%     -    0s
+     0     0 1918.78874    0   28 2118.12275 1918.78874  9.41%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 9
+  StrongCG: 1
+  Flow cover: 5
+  Zero half: 6
+  Mod-K: 1
+  RLT: 2
+
+Explored 1 nodes (137 simplex iterations) in 0.20 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2118.12 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.118122750030e+03, best bound 2.118122750030e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:46:14 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x5eb90ee1
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.02s
+Presolved: 103 rows, 125 columns, 849 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 2.089204e+03, 55 iterations, 0.02 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2089.20425    0   19          - 2089.20425      -     -    0s
+     0     0 2127.82771    0   19          - 2127.82771      -     -    0s
+     0     0 2170.32256    0   28          - 2170.32256      -     -    0s
+     0     0 2182.20137    0   35          - 2182.20137      -     -    0s
+H    0     0                    2364.1798394 2182.20137  7.70%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 6
+  StrongCG: 3
+  Flow cover: 9
+  Zero half: 1
+  RLT: 2
+
+Explored 1 nodes (192 simplex iterations) in 0.29 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2364.18 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.364179839378e+03, best bound 2.364179839378e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:46:14 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x38129fc9
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [6e+01, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.05s
+Presolved: 103 rows, 125 columns, 849 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 1.332535e+03, 66 iterations, 0.02 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 1332.53511    0   18          - 1332.53511      -     -    0s
+     0     0 1355.65066    0   12          - 1355.65066      -     -    0s
+     0     0 1411.94613    0   26          - 1411.94613      -     -    0s
+H    0     0                    1647.7227500 1411.94613  14.3%     -    0s
+     0     0 1426.51344    0   29 1647.72275 1426.51344  13.4%     -    0s
+H    0     0                    1592.3731631 1426.51344  10.4%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 10
+  StrongCG: 2
+  Flow cover: 8
+  Zero half: 1
+  Mod-K: 2
+
+Explored 1 nodes (127 simplex iterations) in 0.20 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 1592.37 1647.72 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 1.592373163108e+03, best bound 1.592373163108e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:46:14 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x95628b29
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.372699e+03, 55 iterations, 0.02 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2372.69912    0    9          - 2372.69912      -     -    0s
+     0     0 2431.43973    0   16          - 2431.43973      -     -    0s
+     0     0 2564.93746    0   15          - 2564.93746      -     -    0s
+H    0     0                    2668.0069668 2564.93746  3.86%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 6
+  StrongCG: 2
+  Flow cover: 2
+  Mod-K: 2
+
+Explored 1 nodes (113 simplex iterations) in 0.18 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2668.01 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.668006966846e+03, best bound 2.668006966846e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:46:14 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x500f6a35
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [6e+01, 6e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.03s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 1.332535e+03, 55 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 1332.53511    0   19          - 1332.53511      -     -    0s
+H    0     0                    1647.7227500 1332.53511  19.1%     -    0s
+     0     0 1356.48400    0   12 1647.72275 1356.48400  17.7%     -    0s
+H    0     0                    1592.3731631 1577.37316  0.94%     -    0s
+     0     0 1592.37316    0   32 1592.37316 1592.37316  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 6
+  MIR: 9
+  StrongCG: 3
+  Flow cover: 4
+  Zero half: 1
+  RLT: 2
+
+Explored 1 nodes (129 simplex iterations) in 0.15 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 1592.37 1647.72 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 1.592373163108e+03, best bound 1.592373163108e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:46:15 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x59ee382a
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [5e-01, 5e+01]
+  Objective range  [1e+02, 2e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.03s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.761031e+03, 55 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2761.03085    0   19          - 2761.03085      -     -    0s
+     0     0 2780.30357    0   24          - 2780.30357      -     -    0s
+     0     0 2807.56079    0   20          - 2807.56079      -     -    0s
+     0     0 2807.56079    0   22          - 2807.56079      -     -    0s
+     0     0 2807.56079    0   22          - 2807.56079      -     -    0s
+     0     2 2841.87796    0   22          - 2841.87796      -     -    0s
+*   33    20               9    3161.0281240 2941.39320  6.95%  13.8    0s
+*   69     0               9    3020.2479376 3020.24794  0.00%   9.4    0s
+
+Cutting planes:
+  Gomory: 5
+  Flow cover: 1
+  Inf proof: 2
+  RLT: 2
+
+Explored 70 nodes (780 simplex iterations) in 0.62 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 3020.25 3161.03 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 3.020247937630e+03, best bound 3.020247937630e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:46:15 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xf63c815e
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [5e-01, 5e+01]
+  Objective range  [6e+01, 6e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 1.332535e+03, 63 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 1332.53511    0   19          - 1332.53511      -     -    0s
+H    0     0                    1647.7227500 1332.53511  19.1%     -    0s
+     0     0 1469.01191    0   10 1647.72275 1469.01191  10.8%     -    0s
+H    0     0                    1592.3731631 1469.01191  7.75%     -    0s
+     0     0 1469.84525    0   16 1592.37316 1469.84525  7.69%     -    0s
+     0     0 1469.84525    0   13 1592.37316 1469.84525  7.69%     -    0s
+     0     0 1469.84525    0   21 1592.37316 1469.84525  7.69%     -    0s
+     0     0 1592.37316    0   18 1592.37316 1592.37316  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  MIR: 3
+  Flow cover: 3
+
+Explored 1 nodes (264 simplex iterations) in 0.27 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 1592.37 1647.72 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 1.592373163108e+03, best bound 1.592373163108e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:46:16 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xefdf62c7
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [6e-01, 5e+01]
+  Objective range  [1e+02, 2e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.03s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 3.132635e+03, 71 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 3132.63460    0    9          - 3132.63460      -     -    0s
+     0     0 3152.39053    0   28          - 3152.39053      -     -    0s
+     0     0 3189.58796    0   25          - 3189.58796      -     -    0s
+     0     0 3221.96376    0   27          - 3221.96376      -     -    0s
+     0     0 3383.32922    0   20          - 3383.32922      -     -    0s
+     0     0 3383.32922    0   21          - 3383.32922      -     -    0s
+H    0     0                    3686.7968331 3383.32922  8.23%     -    0s
+H    0     0                    3623.9381063 3383.32922  6.64%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  Cover: 1
+  MIR: 10
+  StrongCG: 3
+  Flow cover: 2
+  Inf proof: 4
+  Zero half: 1
+  Mod-K: 1
+  RLT: 1
+
+Explored 1 nodes (185 simplex iterations) in 0.34 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 3623.94 3686.8 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 3.623938106292e+03, best bound 3.623938106292e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:46:16 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xba7c206e
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [6e-01, 5e+01]
+  Objective range  [6e+01, 6e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.05s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 1.332535e+03, 55 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 1332.53511    0   19          - 1332.53511      -     -    0s
+H    0     0                    1647.7227500 1332.53511  19.1%     -    0s
+     0     0 1356.48400    0   12 1647.72275 1356.48400  17.7%     -    0s
+H    0     0                    1592.3731631 1577.37316  0.94%     -    0s
+     0     0 1592.37316    0   32 1592.37316 1592.37316  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 6
+  MIR: 9
+  StrongCG: 3
+  Flow cover: 4
+  Zero half: 1
+  RLT: 2
+
+Explored 1 nodes (129 simplex iterations) in 0.19 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 1592.37 1647.72 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 1.592373163108e+03, best bound 1.592373163108e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:47:35 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x4b7a1cea
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 848 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 2.021421e+03, 53 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2021.42102    0   12          - 2021.42102      -     -    0s
+H    0     0                    2261.1963919 2021.42102  10.6%     -    0s
+     0     0 2021.72034    0   16 2261.19639 2021.72034  10.6%     -    0s
+     0     0 2261.19639    0   25 2261.19639 2261.19639  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 4
+  MIR: 9
+  StrongCG: 5
+  Flow cover: 2
+  Mod-K: 3
+  RLT: 2
+
+Explored 1 nodes (95 simplex iterations) in 0.17 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2261.2 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.261196391899e+03, best bound 2.261196391899e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:47:35 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x83ddb69c
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [6e+01, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 64 rows and 85 columns
+Presolve time: 0.03s
+Presolved: 103 rows, 125 columns, 848 nonzeros
+Variable types: 0 continuous, 125 integer (69 binary)
+
+Root relaxation: objective 1.823645e+03, 84 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 1823.64467    0    4          - 1823.64467      -     -    0s
+     0     0 1898.64556    0   10          - 1898.64556      -     -    0s
+     0     0 2005.15101    0   32          - 2005.15101      -     -    0s
+H    0     0                    2120.3325079 2005.15101  5.43%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  MIR: 4
+  StrongCG: 1
+  Flow cover: 7
+  Inf proof: 3
+  Zero half: 1
+
+Explored 1 nodes (148 simplex iterations) in 0.22 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2120.33 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.120332507871e+03, best bound 2.120332507871e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:47:36 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x849bb5b4
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.090810e+03, 52 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2090.80995    0   17          - 2090.80995      -     -    0s
+H    0     0                    2400.1140777 2090.80995  12.9%     -    0s
+     0     0 2130.78551    0   12 2400.11408 2130.78551  11.2%     -    0s
+     0     0 2180.04511    0   36 2400.11408 2180.04511  9.17%     -    0s
+     0     0 2238.67688    0   34 2400.11408 2238.67688  6.73%     -    0s
+H    0     0                    2365.9018976 2238.67688  5.38%     -    0s
+
+Cutting planes:
+  MIR: 8
+  StrongCG: 1
+  Flow cover: 9
+  GUB cover: 1
+  Zero half: 2
+
+Explored 1 nodes (146 simplex iterations) in 0.27 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 2365.9 2400.11 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.365901897627e+03, best bound 2.365901897627e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:47:36 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xd381d586
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [6e+01, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.05s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 1.334141e+03, 55 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 1334.14082    0   16          - 1334.14082      -     -    0s
+H    0     0                    1649.4999555 1334.14082  19.1%     -    0s
+     0     0 1358.06983    0    7 1649.49996 1358.06983  17.7%     -    0s
+     0     0 1358.06983    0   13 1649.49996 1358.06983  17.7%     -    0s
+     0     0 1358.06983    0   13 1649.49996 1358.06983  17.7%     -    0s
+     0     0 1369.30262    0    7 1649.49996 1369.30262  17.0%     -    0s
+H    0     0                    1594.0952214 1395.26695  12.5%     -    0s
+     0     0 1594.09522    0   18 1594.09522 1594.09522  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 8
+  Cover: 1
+  MIR: 10
+  StrongCG: 2
+  Flow cover: 5
+  Mod-K: 2
+
+Explored 1 nodes (179 simplex iterations) in 0.23 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 1594.1 1649.5 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 1.594095221358e+03, best bound 1.594095221358e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:47:36 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xe900d6b5
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [1e+02, 1e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.03s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.378461e+03, 55 iterations, 0.01 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2378.46069    0    9          - 2378.46069      -     -    0s
+     0     0 2439.11472    0   17          - 2439.11472      -     -    0s
+H    0     0                    2674.5974919 2439.11472  8.80%     -    0s
+     0     0 2500.18454    0    9 2674.59749 2500.18454  6.52%     -    0s
+     0     0 2500.18454    0    7 2674.59749 2500.18454  6.52%     -    0s
+     0     0 2500.18454    0   15 2674.59749 2500.18454  6.52%     -    0s
+
+Cutting planes:
+  Gomory: 2
+  Implied bound: 4
+  MIR: 7
+  StrongCG: 3
+  Flow cover: 6
+  Mod-K: 5
+  RLT: 3
+  Relax-and-lift: 1
+
+Explored 1 nodes (136 simplex iterations) in 0.21 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 2674.6 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 2.674597491905e+03, best bound 2.674597491905e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:47:36 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xee01c785
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [4e-01, 5e+01]
+  Objective range  [6e+01, 6e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 1.339217e+03, 53 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 1339.21734    0   20          - 1339.21734      -     -    0s
+H    0     0                    1654.3132751 1339.21734  19.0%     -    0s
+     0     0 1366.13440    0   12 1654.31328 1366.13440  17.4%     -    0s
+H    0     0                    1601.4129880 1583.51502  1.12%     -    0s
+     0     0 1601.41299    0   34 1601.41299 1601.41299  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 9
+  StrongCG: 4
+  Flow cover: 4
+  Zero half: 1
+  RLT: 2
+
+Explored 1 nodes (156 simplex iterations) in 0.14 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 1601.41 1654.31 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 1.601412987990e+03, best bound 1.601412987990e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:47:37 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xf18f66c1
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [5e-01, 5e+01]
+  Objective range  [1e+02, 2e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.03s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 2.778199e+03, 56 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 2778.19884    0   18          - 2778.19884      -     -    0s
+     0     0 2798.76566    0   23          - 2798.76566      -     -    0s
+     0     0 2817.72206    0   24          - 2817.72206      -     -    0s
+     0     0 2830.48629    0   34          - 2830.48629      -     -    0s
+H    0     0                    3043.9418621 2830.48629  7.01%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 15
+  StrongCG: 2
+  Flow cover: 3
+  Inf proof: 1
+  Zero half: 1
+  Mod-K: 1
+  RLT: 3
+
+Explored 1 nodes (127 simplex iterations) in 0.24 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 3043.94 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 3.043941862101e+03, best bound 3.043941862101e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:47:37 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xe893c54d
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [5e-01, 5e+01]
+  Objective range  [6e+01, 6e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.03s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 1.343728e+03, 63 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 1343.72848    0   20          - 1343.72848      -     -    0s
+     0     0 1398.35865    0   12          - 1398.35865      -     -    0s
+     0     0 1424.20736    0   35          - 1424.20736      -     -    0s
+H    0     0                    1667.1015018 1424.20736  14.6%     -    0s
+     0     0 1589.73066    0   36 1667.10150 1589.73066  4.64%     -    0s
+H    0     0                    1616.0670876 1589.73066  1.63%     -    0s
+
+Cutting planes:
+  Cover: 1
+  MIR: 7
+  StrongCG: 2
+  Flow cover: 7
+  Zero half: 1
+  RLT: 3
+
+Explored 1 nodes (162 simplex iterations) in 0.25 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 1616.07 1667.1 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 1.616067087579e+03, best bound 1.616067087579e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:47:37 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x52766cd6
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [6e-01, 5e+01]
+  Objective range  [1e+02, 2e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.03s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 3.147442e+03, 72 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 3147.44183    0   18          - 3147.44183      -     -    0s
+     0     0 3202.97115    0   29          - 3202.97115      -     -    0s
+     0     0 3227.92326    0   34          - 3227.92326      -     -    0s
+     0     0 3227.92326    0   34          - 3227.92326      -     -    0s
+     0     0 3328.91461    0   26          - 3328.91461      -     -    0s
+     0     0 3328.91461    0   27          - 3328.91461      -     -    0s
+H    0     0                    3708.7246299 3328.91461  10.2%     -    0s
+H    0     0                    3643.7808591 3328.91461  8.64%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 9
+  StrongCG: 3
+  Flow cover: 5
+  Zero half: 2
+  Mod-K: 1
+
+Explored 1 nodes (150 simplex iterations) in 0.25 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 3643.78 3708.72 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 3.643780859051e+03, best bound 3.643780859051e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:47:38 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x32cd7160
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [6e-01, 5e+01]
+  Objective range  [6e+01, 6e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 89 columns
+Presolve time: 0.04s
+Presolved: 101 rows, 121 columns, 817 nonzeros
+Variable types: 0 continuous, 121 integer (67 binary)
+
+Root relaxation: objective 1.347184e+03, 53 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 1347.18375    0   20          - 1347.18375      -     -    0s
+H    0     0                    1669.6505468 1347.18375  19.3%     -    0s
+     0     0 1372.94809    0   12 1669.65055 1372.94809  17.8%     -    0s
+H    0     0                    1612.2159159 1590.38204  1.35%     -    0s
+     0     0 1612.21592    0   34 1612.21592 1612.21592  0.00%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 9
+  StrongCG: 4
+  Flow cover: 4
+  Zero half: 1
+  RLT: 2
+
+Explored 1 nodes (118 simplex iterations) in 0.16 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 1612.22 1669.65 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 1.612215915868e+03, best bound 1.612215915868e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:47:38 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x99a844a8
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [6e-01, 5e+01]
+  Objective range  [1e+02, 2e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 90 columns
+Presolve time: 0.02s
+Presolved: 101 rows, 120 columns, 808 nonzeros
+Variable types: 0 continuous, 120 integer (66 binary)
+
+Root relaxation: objective 3.722087e+03, 67 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 3722.08662    0   20          - 3722.08662      -     -    0s
+     0     0 3804.58756    0   26          - 3804.58756      -     -    0s
+     0     0 3861.04983    0   26          - 3861.04983      -     -    0s
+     0     0 3861.04983    0   26          - 3861.04983      -     -    0s
+     0     2 3880.78096    0   26          - 3880.78096      -     -    0s
+*   20     5               7    4104.8954313 3944.82410  3.90%  12.3    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 3
+  StrongCG: 2
+  Flow cover: 1
+  RLT: 2
+
+Explored 25 nodes (380 simplex iterations) in 0.45 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 4104.9 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 4.104895431277e+03, best bound 4.104895431277e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:47:38 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0x44371e98
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [6e-01, 5e+01]
+  Objective range  [6e+01, 6e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 66 rows and 90 columns
+Presolve time: 0.03s
+Presolved: 101 rows, 120 columns, 808 nonzeros
+Variable types: 0 continuous, 120 integer (66 binary)
+
+Root relaxation: objective 1.367243e+03, 73 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 1367.24283    0   16          - 1367.24283      -     -    0s
+     0     0 1374.04240    0   19          - 1374.04240      -     -    0s
+     0     0 1419.67906    0   22          - 1419.67906      -     -    0s
+     0     0 1446.00663    0   18          - 1446.00663      -     -    0s
+     0     0 1446.00663    0   18          - 1446.00663      -     -    0s
+H    0     0                    1626.4892502 1446.00663  11.1%     -    0s
+
+Cutting planes:
+  Gomory: 3
+  Flow cover: 1
+
+Explored 1 nodes (172 simplex iterations) in 0.35 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 1: 1626.49 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 1.626489250224e+03, best bound 1.626489250224e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:47:39 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xec872999
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [9e-01, 5e+01]
+  Objective range  [1e+02, 4e+03]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 68 rows and 94 columns
+Presolve time: 0.05s
+Presolved: 99 rows, 116 columns, 786 nonzeros
+Variable types: 0 continuous, 116 integer (64 binary)
+
+Root relaxation: objective 4.449370e+03, 54 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 4449.37004    0   16          - 4449.37004      -     -    0s
+     0     0 4490.73372    0   28          - 4490.73372      -     -    0s
+     0     0 4506.20147    0   33          - 4506.20147      -     -    0s
+     0     0 4509.63726    0   32          - 4509.63726      -     -    0s
+     0     0 4509.63726    0   32          - 4509.63726      -     -    0s
+H    0     0                    6030.6854326 4509.63726  25.2%     -    0s
+     0     2 4594.49073    0   32 6030.68543 4594.49073  23.8%     -    0s
+*   24     2              13    5883.9839266 5883.98393  0.00%  11.7    0s
+
+Cutting planes:
+  Gomory: 3
+  MIR: 6
+  Flow cover: 2
+  Relax-and-lift: 1
+
+Explored 25 nodes (399 simplex iterations) in 0.53 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 5883.98 6030.69 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 5.883983926624e+03, best bound 5.883983926624e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:47:39 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xdecf3d1d
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [9e-01, 5e+01]
+  Objective range  [6e+01, 6e+02]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 68 rows and 94 columns
+Presolve time: 0.03s
+Presolved: 99 rows, 116 columns, 786 nonzeros
+Variable types: 0 continuous, 116 integer (64 binary)
+
+Root relaxation: objective 1.387169e+03, 43 iterations, 0.00 seconds
+
+    Nodes    |    Current Node    |     Objective Bounds      |     Work
+ Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time
+
+     0     0 1387.16925    0   12          - 1387.16925      -     -    0s
+H    0     0                    1724.4961134 1387.16925  19.6%     -    0s
+     0     0 1409.82748    0   17 1724.49611 1409.82748  18.2%     -    0s
+     0     0 1504.76006    0   21 1724.49611 1504.76006  12.7%     -    0s
+     0     0 1628.45279    0   22 1724.49611 1628.45279  5.57%     -    0s
+     0     0 1629.87215    0   27 1724.49611 1629.87215  5.49%     -    0s
+H    0     0                    1639.0169488 1629.87215  0.56%     -    0s
+
+Cutting planes:
+  Gomory: 1
+  MIR: 6
+  StrongCG: 2
+  Flow cover: 6
+  Zero half: 1
+  RLT: 2
+
+Explored 1 nodes (114 simplex iterations) in 0.23 seconds
+Thread count was 8 (of 8 available processors)
+
+Solution count 2: 1639.02 1724.5 
+
+Optimal solution found (tolerance 1.00e-04)
+Best objective 1.639016948826e+03, best bound 1.639016948826e+03, gap 0.0000%
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:47:40 2024
+
+Academic license - for non-commercial use only
+Gurobi Optimizer version 9.0.2 build v9.0.2rc0 (win64)
+Optimize a model with 167 rows, 210 columns and 1372 nonzeros
+Model fingerprint: 0xec2d4b05
+Variable types: 0 continuous, 210 integer (110 binary)
+Coefficient statistics:
+  Matrix range     [8e-01, 5e+01]
+  Objective range  [1e+02, 1e+04]
+  Bounds range     [1e+00, 6e+00]
+  RHS range        [1e+00, 1e+02]
+Presolve removed 163 rows and 209 columns
+Presolve time: 0.04s
+
+Explored 0 nodes (0 simplex iterations) in 0.04 seconds
+Thread count was 1 (of 8 available processors)
+
+Solution count 0
+
+Model is infeasible
+Best objective -, best bound -, gap -
+
+Gurobi 9.0.2 (win64, Java) logging started Fri Sep 27 18:47:40 2024
+
+Academic license - for non-commercial use only
diff --git a/Code/out/production/Code/MixedReality_Optimization.class b/Code/out/production/Code/MixedReality_Optimization.class
new file mode 100644
index 0000000000000000000000000000000000000000..66be1749c70a2b330022005c1dfdf4b20b5123ef
Binary files /dev/null and b/Code/out/production/Code/MixedReality_Optimization.class differ
diff --git a/Code/out/production/Code/application/AppLink.class b/Code/out/production/Code/application/AppLink.class
new file mode 100644
index 0000000000000000000000000000000000000000..c8677d70c07fe5df96c74bef9787c072ed7ae16e
Binary files /dev/null and b/Code/out/production/Code/application/AppLink.class differ
diff --git a/Code/out/production/Code/application/Application.class b/Code/out/production/Code/application/Application.class
new file mode 100644
index 0000000000000000000000000000000000000000..88541eda98e2f68053b121477c7a32435033fe34
Binary files /dev/null and b/Code/out/production/Code/application/Application.class differ
diff --git a/Code/out/production/Code/device/Device.class b/Code/out/production/Code/device/Device.class
new file mode 100644
index 0000000000000000000000000000000000000000..850ff235cade8c8060a02f82353b9f58d931489c
Binary files /dev/null and b/Code/out/production/Code/device/Device.class differ
diff --git a/Code/out/production/Code/placement/OptimalRequestPlacement_Marginal.class b/Code/out/production/Code/placement/OptimalRequestPlacement_Marginal.class
new file mode 100644
index 0000000000000000000000000000000000000000..8e07d0bc2f5a263bb34c853d4d0530166e698e9d
Binary files /dev/null and b/Code/out/production/Code/placement/OptimalRequestPlacement_Marginal.class differ
diff --git a/Code/out/production/Code/placement/OptimalRequestPlacement_Overall.class b/Code/out/production/Code/placement/OptimalRequestPlacement_Overall.class
new file mode 100644
index 0000000000000000000000000000000000000000..125abb520ce6bda082f363d0ca4ddfedb3411fb7
Binary files /dev/null and b/Code/out/production/Code/placement/OptimalRequestPlacement_Overall.class differ
diff --git a/Code/out/production/Code/placement/RequestPlacementLogic.class b/Code/out/production/Code/placement/RequestPlacementLogic.class
new file mode 100644
index 0000000000000000000000000000000000000000..6bebe76c4605b363693a05e6ba96dfa78eec73a8
Binary files /dev/null and b/Code/out/production/Code/placement/RequestPlacementLogic.class differ
diff --git a/Code/out/production/Code/placement/RequestPlacementOutput.class b/Code/out/production/Code/placement/RequestPlacementOutput.class
new file mode 100644
index 0000000000000000000000000000000000000000..ac90ffc9c1484cce2a63496cd2f7193e305d2f79
Binary files /dev/null and b/Code/out/production/Code/placement/RequestPlacementOutput.class differ
diff --git a/Code/out/production/Code/solver/SolverGurobi$1.class b/Code/out/production/Code/solver/SolverGurobi$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..11e7c7501631100634dbc7f6b5811ef55cbef3f9
Binary files /dev/null and b/Code/out/production/Code/solver/SolverGurobi$1.class differ
diff --git a/Code/out/production/Code/solver/SolverGurobi$Hook.class b/Code/out/production/Code/solver/SolverGurobi$Hook.class
new file mode 100644
index 0000000000000000000000000000000000000000..33385f5b1bebf233eab04344795c7cad5b80c2cb
Binary files /dev/null and b/Code/out/production/Code/solver/SolverGurobi$Hook.class differ
diff --git a/Code/out/production/Code/solver/SolverGurobi.class b/Code/out/production/Code/solver/SolverGurobi.class
new file mode 100644
index 0000000000000000000000000000000000000000..4577ee7ec3aba58279b77c2cc0c89a0da1d7bbbf
Binary files /dev/null and b/Code/out/production/Code/solver/SolverGurobi.class differ
diff --git a/Code/out/production/Code/system/Location.class b/Code/out/production/Code/system/Location.class
new file mode 100644
index 0000000000000000000000000000000000000000..2396a01257a45e6b0c97e3c9ef521414c62f1385
Binary files /dev/null and b/Code/out/production/Code/system/Location.class differ
diff --git a/Code/out/production/Code/system/Network.class b/Code/out/production/Code/system/Network.class
new file mode 100644
index 0000000000000000000000000000000000000000..57a4b161e059e492ed9d7fe2cf62c9145def4c06
Binary files /dev/null and b/Code/out/production/Code/system/Network.class differ
diff --git a/Code/out/production/Code/utils/Config.class b/Code/out/production/Code/utils/Config.class
new file mode 100644
index 0000000000000000000000000000000000000000..8fe4a9607f101d9e23cd6a070d821c0e98d7cb79
Binary files /dev/null and b/Code/out/production/Code/utils/Config.class differ
diff --git a/Code/out/production/Code/utils/Distribution.class b/Code/out/production/Code/utils/Distribution.class
new file mode 100644
index 0000000000000000000000000000000000000000..9d8983e850985ead7718ebd69a31e9a153c51803
Binary files /dev/null and b/Code/out/production/Code/utils/Distribution.class differ
diff --git a/Code/out/production/Code/utils/NormalDistribution.class b/Code/out/production/Code/utils/NormalDistribution.class
new file mode 100644
index 0000000000000000000000000000000000000000..542305a4a4e0a329985bbd25d85592c828cc6fe2
Binary files /dev/null and b/Code/out/production/Code/utils/NormalDistribution.class differ
diff --git a/Code/out/production/Code/utils/Triple.class b/Code/out/production/Code/utils/Triple.class
new file mode 100644
index 0000000000000000000000000000000000000000..c71ec368ddfb5c592f2c7138f005235d63a4f60c
Binary files /dev/null and b/Code/out/production/Code/utils/Triple.class differ
diff --git a/Code/out/production/Code/utils/Utils.class b/Code/out/production/Code/utils/Utils.class
new file mode 100644
index 0000000000000000000000000000000000000000..85d4b021f8cde4f89f95ffb1424315aa9edb05a5
Binary files /dev/null and b/Code/out/production/Code/utils/Utils.class differ
diff --git a/Code/src/MixedReality_Optimization.java b/Code/src/MixedReality_Optimization.java
new file mode 100644
index 0000000000000000000000000000000000000000..2a680304b3c3bdc6e05db6203fa147b4b06bb060
--- /dev/null
+++ b/Code/src/MixedReality_Optimization.java
@@ -0,0 +1,224 @@
+import application.Application;
+import placement.OptimalRequestPlacement_Marginal;
+import placement.OptimalRequestPlacement_Overall;
+import placement.RequestPlacementOutput;
+import system.Network;
+import utils.Config;
+import device.Device;
+
+import java.io.IOException;
+import java.util.*;
+
+/**
+ * Setup for Mixed Reality to test the placement of one request in different scenarios
+ *
+ * @author Klervie Toczé
+ */
+public class MixedReality_Optimization {
+
+     public static void main(String[] args) {
+
+        try {
+            //Parameters for the different studies
+            int numberOfFunctionInstances = 2;
+            Boolean usingUniformLoadDistribution = false;
+            int standardDeviation = 10;
+            Boolean linksAreLoaded = true;
+            Boolean randomStartLocation = false;
+
+            String appId = "MR_Service"; // identifier of the application
+            Application application = createApplication(appId);
+
+            //TODO Check whether this is still actual
+            System.out.println("Description of the experiment:");
+            System.out.println("- Number of functions instances: " + numberOfFunctionInstances);
+            if (usingUniformLoadDistribution)
+                {System.out.println("- Load distribution: NORMAL with std " + standardDeviation);}
+            else{
+                System.out.println("- Load distribution: UNIFORM");
+            }
+            System.out.println("   The (mean) load increases by 10% per scenario");
+            if(linksAreLoaded){
+                System.out.println("- Load on links: following a NORMAL distribution");
+            }else{
+                System.out.println("- Load on links: 0%");
+            }
+            if (randomStartLocation)
+            {System.out.println("- Start location: RANDOM ");}
+            else{
+                System.out.println("- Start location: FIXED");
+            }
+
+            //Determine startLocation = at which device the request is received. This is the placing device
+            String startLocation;
+            if (randomStartLocation){
+                Random randomLoc = new Random();
+                Integer randomStart=randomLoc.nextInt(11);
+                startLocation= "gateway_" + randomStart.toString();
+                System.out.println("Random start location is "+startLocation);
+            }
+            else{
+                //For this scenario the start node is NOT random between scenarios
+                Integer randomStart=0;
+                startLocation= "gateway_" + randomStart;
+                System.out.println("Non random start location is "+startLocation);
+            }
+
+            System.out.println("Creating the network to be used");
+            Network network = new Network(application,startLocation);
+
+            System.out.println("Placing the function instances");
+            placeFunctionInstances(numberOfFunctionInstances,network.getEdgeDevices());
+
+            System.out.println("Optimizing the placement of one request");
+
+            //Below are the different optimization objectives
+            OptimalRequestPlacement_Overall requestPlacementManager_obj1= new OptimalRequestPlacement_Overall(network);
+            OptimalRequestPlacement_Marginal requestPlacementManager_obj2= new OptimalRequestPlacement_Marginal(network);
+
+            //for each repetition
+            for (int a = 0; a< Config.REPETITION_NUMBER; a++) {
+                System.out.println("Repetition " + a);
+
+                //for each utilization scenario
+                for (int i = 0; i < Config.LOAD_SCENARIO_NUMBER; i++) {
+                    System.out.println("Utilization scenario " + i);
+
+                    //Reset the timing/energy variables
+                    network.clear();
+
+                    //Create utilization data
+                    network.createUtilizationData(i,a,usingUniformLoadDistribution,standardDeviation,linksAreLoaded);
+
+                    //For every optimization objective to be tested
+                    //Objective1 - Optimization Overall Energy
+                    long startTiming = Calendar.getInstance().getTimeInMillis();
+                    RequestPlacementOutput output_obj1 = requestPlacementManager_obj1.run(application, startLocation);
+                    long endTiming = Calendar.getInstance().getTimeInMillis();
+                    //Calculate and print how long it took to get the placement
+                    long executionTime = endTiming - startTiming;
+                    System.out.println("OVERALL OPT Placement request execution time: " + executionTime + " ms");
+
+                    //Evaluate the placement according to the other metrics
+                    network.evaluatePlacementOutput(output_obj1, startLocation, startLocation);
+
+                    //Objective2 - Optimization Marginal Energy
+                    startTiming = Calendar.getInstance().getTimeInMillis();
+                    RequestPlacementOutput output_obj2 = requestPlacementManager_obj2.run(application, startLocation);
+                    endTiming = Calendar.getInstance().getTimeInMillis();
+                    //Calculate and print how long it took to get the placement
+                    executionTime = endTiming - startTiming;
+                    System.out.println("MARGINAL OPT Placement request execution time: " + executionTime + " ms");
+
+                    //Evaluate the placement according to the other metrics
+                    network.evaluatePlacementOutput(output_obj2, startLocation, startLocation);
+
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    private static Application createApplication(String appId) {
+
+        Application application = Application.createApplication(appId);
+
+        //Defining the different parts of the request function chain
+        application.addAppLink("encodingModule_client", "decodingModule_edge", 200,250);
+        application.addAppLink("decodingModule_edge", "pointcloudModule", 2000,500);
+        application.addAppLink("pointcloudModule", "graphicoverlayModule", 1000,750);
+        application.addAppLink("graphicoverlayModule", "encodingModule_edge", 200,500);
+        application.addAppLink("encodingModule_edge", "decodingModule_client", 200, 250);
+
+        //The request chain for the placement
+        List<String> requestChain = new ArrayList<>();
+        requestChain.add(0,"decodingModule_edge");
+        requestChain.add(1,"pointcloudModule");
+        requestChain.add(2,"graphicoverlayModule");
+        requestChain.add(3,"encodingModule_edge");
+        application.setRequestChain(requestChain);
+
+        return application;
+    }
+
+    private static void placeFunctionInstances(int numberOfInstances,List<Device> edgeDevices){
+        if(numberOfInstances>=2){
+            for(Device device : edgeDevices){
+                if(device.getName().equals("gateway_0")){
+                    device.placeModuleOnDevice("decodingModule_edge");
+                    device.placeModuleOnDevice("encodingModule_edge");
+                }
+                if(device.getName().equals("gateway_3")){
+                    device.placeModuleOnDevice("decodingModule_edge");
+                    device.placeModuleOnDevice("encodingModule_edge");
+                }
+                if(device.getName().equals("gateway_5")){
+                    device.placeModuleOnDevice("pointcloudModule");
+                }
+                if(device.getName().equals("gateway_7")){
+                    device.placeModuleOnDevice("pointcloudModule");
+                }
+                if(device.getName().equals("gateway_6")){
+                    device.placeModuleOnDevice("graphicoverlayModule");
+                }
+                if(device.getName().equals("gateway_8")){
+                    device.placeModuleOnDevice("graphicoverlayModule");
+                }
+            }
+        }
+        if(numberOfInstances>=4){
+            for(Device device : edgeDevices){
+                if(device.getName().equals("gateway_6")){
+                    device.placeModuleOnDevice("decodingModule_edge");
+                    device.placeModuleOnDevice("encodingModule_edge");
+                }
+                if(device.getName().equals("gateway_9")){
+                    device.placeModuleOnDevice("decodingModule_edge");
+                    device.placeModuleOnDevice("encodingModule_edge");
+                }
+                if(device.getName().equals("gateway_4")){
+                    device.placeModuleOnDevice("pointcloudModule");
+                }
+                if(device.getName().equals("gateway_0")){
+                    device.placeModuleOnDevice("pointcloudModule");
+                }
+                if(device.getName().equals("gateway_2")){
+                    device.placeModuleOnDevice("graphicoverlayModule");
+                }
+                if(device.getName().equals("gateway_7")){
+                    device.placeModuleOnDevice("graphicoverlayModule");
+                }
+            }
+        }
+        if(numberOfInstances>=6){
+            for(Device device : edgeDevices){
+                if(device.getName().equals("gateway_7")){
+                    device.placeModuleOnDevice("encodingModule_edge");
+                }
+                if(device.getName().equals("gateway_5")){
+                    device.placeModuleOnDevice("encodingModule_edge");
+                }
+                if(device.getName().equals("gateway_2")){
+                    device.placeModuleOnDevice("decodingModule_edge");
+                }
+                if(device.getName().equals("gateway_4")){
+                    device.placeModuleOnDevice("decodingModule_edge");
+                }
+                if(device.getName().equals("gateway_6")){
+                    device.placeModuleOnDevice("pointcloudModule");
+                }
+                if(device.getName().equals("gateway_10")){
+                    device.placeModuleOnDevice("pointcloudModule");
+                }
+                if(device.getName().equals("gateway_0")){
+                    device.placeModuleOnDevice("graphicoverlayModule");
+                }
+                if(device.getName().equals("gateway_9")){
+                    device.placeModuleOnDevice("graphicoverlayModule");
+                }
+            }
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/Code/src/application/AppLink.java b/Code/src/application/AppLink.java
new file mode 100644
index 0000000000000000000000000000000000000000..dc5efad0589083d3e77e85b8eda5331bc2e87f39
--- /dev/null
+++ b/Code/src/application/AppLink.java
@@ -0,0 +1,56 @@
+package application;
+
+/**
+ * Class represents application links which connect modules together and represent data dependency between them.
+ * @author Klervie Toczé
+ *
+ */
+public class AppLink {
+
+	private String source;
+	private String destination;
+	/**
+	 * CPU length (in MIPS) of tuples carried by the application link
+	 */
+	private double tupleCpuLength;
+	/**
+	 * Network length (in bytes) of tuples carried by the application link
+	 */
+	private double tupleNwLength;
+
+	public AppLink(String source, String destination, double tupleCpuLength,
+				   double tupleNwLength){
+		setSource(source);
+		setDestination(destination);
+		setTupleNwLength(tupleNwLength);
+		setTupleCpuLength(tupleCpuLength);
+	}
+
+	public void setSource(String source) {
+		this.source = source;
+	}
+	public String getDestination() {
+		return destination;
+	}
+	public void setDestination(String destination) {
+		this.destination = destination;
+	}
+	public double getTupleCpuLength() {
+		return tupleCpuLength;
+	}
+	public void setTupleCpuLength(double tupleCpuLength) {
+		this.tupleCpuLength = tupleCpuLength;
+	}
+	public double getTupleNwLength() {
+		return tupleNwLength;
+	}
+	public void setTupleNwLength(double tupleNwLength) {
+		this.tupleNwLength = tupleNwLength;
+	}
+
+	@Override
+	public String toString() {
+		return "AppLink [source=" + source + ", destination=" + destination
+				+ "]";
+	}
+}
diff --git a/Code/src/application/Application.java b/Code/src/application/Application.java
new file mode 100644
index 0000000000000000000000000000000000000000..547fba3039060751de0ddd959f7e7470e8c8af5a
--- /dev/null
+++ b/Code/src/application/Application.java
@@ -0,0 +1,83 @@
+package application;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Class holding information about the application request chain and service placement of the different functions
+ * @author Klervie Toczé
+ *
+ */
+public class Application {
+	
+	private String appId;
+	//private List<String> functions;
+	private List<AppLink> links;
+	
+	private List<String> requestChain; //The list of components that are part of the request
+
+	public static Application createApplication(String appId){
+		return new Application(appId);
+	}
+	
+	/*public void addAppFunction(String functionName) {
+		functions.add(functionName);
+	}*/
+	
+	public void addAppLink(String source, String destination, double tupleCPULength,
+						   double tupleNwLength){
+		AppLink link = new AppLink(source, destination, tupleCPULength,tupleNwLength);
+		getLinks().add(link);
+	}
+	
+	public Application(String appId) {
+		setAppId(appId);
+		//setFunctions(new ArrayList<>());
+		setLinks(new ArrayList<>());
+	}
+	
+	public void setAppId(String appId) {
+		this.appId = appId;
+	}
+	//public List<String> getFunctions() {
+	//	return functions;
+	//}
+	/*public void setFunctions(List<String> functions) {
+		this.functions = functions;
+	}*/
+
+	public List<AppLink> getLinks() {
+		return links;
+	}
+	public void setLinks(List<AppLink> links) {
+		this.links = links;
+	}
+
+	public void setRequestChain(List<String> requestChain) {
+		this.requestChain = requestChain;
+	}
+
+	public List<String> getRequestChain() {
+		return requestChain;
+	}
+
+	//Function to get the network size needed to come to the target function (i.e. on the incoming edge to the target function)
+	public Double getTargetFunctionNwSize(String moduleName){
+		Double nwLength=0.0;
+		for(AppLink link : getLinks()) {
+			if (link.getDestination().equals(moduleName)) {
+				nwLength = link.getTupleNwLength();
+			}
+		}
+		return nwLength;
+	}
+	public Double getTargetFunctionCPUSize(String moduleName){
+		Double CPUsize=0.0;
+		for(AppLink link : getLinks()) {
+			if (link.getDestination().equals(moduleName)) {
+				CPUsize = link.getTupleCpuLength();
+			}
+		}
+		return CPUsize;
+	}
+}
diff --git a/Code/src/device/Device.java b/Code/src/device/Device.java
new file mode 100644
index 0000000000000000000000000000000000000000..191f842a4a3052a280bcd33a6e661fa2d1d07049
--- /dev/null
+++ b/Code/src/device/Device.java
@@ -0,0 +1,62 @@
+package device;
+
+import system.Location;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class Device {
+
+    protected String deviceType = null;
+    public static final String EDGE = "edge"; // edge device used for orchestration or computation
+
+    protected String name;
+    protected Location locationInformation;
+    protected double mips;
+    protected List<String> modulesPlacedOnDevice;
+
+    public Device(String name, String deviceType, double mips) {
+        setName(name);
+        setDeviceType(deviceType);
+        this.mips=mips;
+        modulesPlacedOnDevice= new ArrayList<>();
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name){
+        this.name= name;
+    }
+
+    public Location getLocationInformation() {
+        return this.locationInformation;
+    }
+    public void setLocationInformation(Location locationInfo) {
+        this.locationInformation= locationInfo;
+    }
+
+    public void placeModuleOnDevice(String moduleName){
+        //For now we can only place one module one time
+        if(!modulesPlacedOnDevice.contains(moduleName)){
+            modulesPlacedOnDevice.add(moduleName);
+        }
+    }
+
+    public List<String> getPlacedModulesOnDevice(){
+            return modulesPlacedOnDevice;
+    }
+
+    protected void setDeviceType(String deviceType) {
+        if (deviceType.equals(Device.EDGE))
+            this.deviceType = deviceType;
+        else
+            System.out.println("ERROR Device type is not supported, see Device class");
+    }
+
+    public String getDeviceType() {
+        return deviceType;
+    }
+
+}
diff --git a/Code/src/placement/OptimalRequestPlacement_Marginal.java b/Code/src/placement/OptimalRequestPlacement_Marginal.java
new file mode 100644
index 0000000000000000000000000000000000000000..989179f1b0a73761b3c1e3d24a87b8e91fd7bc66
--- /dev/null
+++ b/Code/src/placement/OptimalRequestPlacement_Marginal.java
@@ -0,0 +1,358 @@
+package placement;
+
+import application.Application;
+import device.Device;
+import net.sf.javailp.*;
+import org.apache.commons.math3.util.Pair;
+import system.Network;
+import utils.Triple;
+import utils.Utils;
+
+import java.util.*;
+
+/**
+ * Created by Klervie Toczé
+ * Request Placement using ILP
+ * Optimization objective: Marginal Energy
+ */
+public class OptimalRequestPlacement_Marginal implements RequestPlacementLogic {
+
+    Network network;
+    List<Device> edgeDevicesInArea;//edge devices that can be considered for placement
+    Map<String,Device> edgeDevicesInAreaByName;
+
+    private String startLocation; //The device name of the start location for the request
+    private String destinationLocation; //The device name of the destination location for the request
+
+    public OptimalRequestPlacement_Marginal(Network network) {
+        this.network=network;
+        this.edgeDevicesInArea=network.getEdgeDevices();
+        this.edgeDevicesInAreaByName = new HashMap<>();
+        for (Device device : edgeDevicesInArea){
+            this.edgeDevicesInAreaByName.put(device.getName(),device);
+        }
+    }
+
+    private Triple<List<String>,List<String>,List<String>> optimizationSolve(List<String> requestChain){
+
+        SolverFactory factory = new SolverFactoryGurobi();
+        factory.setParameter(Solver.VERBOSE,0);
+        factory.setParameter(Solver.TIMEOUT,1000); //Timeout of 1000 seconds
+
+        //Get the names of the function instances
+        List<String> functionInstancesLongNames = new ArrayList<>();
+        List<String> functionInstancesShortNames = new ArrayList<>();
+        functionInstancesShortNames.add(Utils.START);
+        functionInstancesLongNames.add(Utils.START);
+        for (Device device : edgeDevicesInArea){
+            if(device.getDeviceType()== Device.EDGE) {
+                //We are not interested by adding end device nodes
+                //The function instances placed are accessible via Device
+                    for (String module:device.getPlacedModulesOnDevice()){
+                        //Note: the dash in between is to facilitate re-split later
+                        String longName= device.getName() +"-" + module;
+                        //Create a shorter name - Assuming a node name of type "gateway_0", we want the first character and the number
+                        // followed by the two first letters of the module name
+                        String shortNameDevice;
+                        String nodeName=device.getName();
+                        if (nodeName.charAt(nodeName.length()-2)!="_".charAt(0)){
+                            shortNameDevice= ""+nodeName.charAt(0)+nodeName.charAt(nodeName.length()-2)+nodeName.charAt(nodeName.length()-1);
+                        }
+                        else {
+                            shortNameDevice= ""+nodeName.charAt(0)+nodeName.charAt(nodeName.length()-1);
+                        }
+                        String shortName = shortNameDevice +module.charAt(0)+module.charAt(1);
+                        functionInstancesShortNames.add(shortName);
+                        functionInstancesLongNames.add(longName);
+                    }
+            }
+        }
+        functionInstancesShortNames.add(Utils.END);
+        functionInstancesLongNames.add(Utils.END);
+
+        //Create a shorter version of the names for the requestChain
+        List<String> shortNameRequestChain = new ArrayList<>();
+        for (String longName : requestChain){
+            String shortName = ""+longName.charAt(0)+longName.charAt(1)+longName.charAt(2);
+            shortNameRequestChain.add(shortName);
+        }
+
+        //Input variables
+        //Create/Get the coefficients for the lambdas values in the objective function
+        int beta = requestChain.size()+2;//Add to be +2 to be number of links between instance + 1 due to constraint 6
+        double deadline = 100;
+
+        Problem problem = new Problem();
+
+        //Decision variables
+        for (int i=0;i<functionInstancesShortNames.size();i++){
+            for (int j=0;j<functionInstancesShortNames.size();j++){
+                    problem.setVarType("x" + functionInstancesShortNames.get(i) + functionInstancesShortNames.get(j), Boolean.class);
+            }
+        }
+        for (int i=0;i<functionInstancesShortNames.size();i++){
+                problem.setVarType("y"+functionInstancesShortNames.get(i), Boolean.class);
+        }
+        for (int i=0;i<functionInstancesShortNames.size();i++){
+            for (int j=0;j<functionInstancesShortNames.size();j++){
+                    problem.setVarType("o" + functionInstancesShortNames.get(i) + functionInstancesShortNames.get(j), Integer.class);
+                    problem.setVarLowerBound("o"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j),0);
+                    problem.setVarUpperBound("o"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j),beta);
+            }
+        }
+
+        //Create the objective constraint
+        Linear linear = new Linear();
+        //Travelling part
+        for (int i=0;i<functionInstancesShortNames.size();i++){
+            for (int j=0;j<functionInstancesShortNames.size();j++){
+                    linear.add(network.getLinkMarginalEnergyConsumption(functionInstancesLongNames.get(i),functionInstancesLongNames.get(j),this.startLocation,this.destinationLocation), "x"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+            }
+        }
+        //Purchasing part
+        for (int i=1;i<functionInstancesShortNames.size()-1;i++){ //Exclude the start and end nodes
+                linear.add(network.getInstanceMarginalEnergyConsumption(functionInstancesLongNames.get(i)), "y"+functionInstancesShortNames.get(i));
+        }
+        problem.setObjective(linear, OptType.MIN);
+
+        //Add the constraints
+        //Number 6
+        //Special case source
+        linear = new Linear();
+        for (int j=0;j<functionInstancesShortNames.size();j++){//w
+            linear.add(1, "x"+functionInstancesShortNames.get(j)+functionInstancesShortNames.get(0));
+        }
+        for (int j=0;j<functionInstancesShortNames.size();j++){//z
+            linear.add(-1, "x"+functionInstancesShortNames.get(0)+functionInstancesShortNames.get(j));
+        }
+        problem.add("6-source",linear, "=", -1);
+        //Special case destination
+        linear = new Linear();
+        for (int j=0;j<functionInstancesShortNames.size();j++){//w
+            linear.add(1, "x"+functionInstancesShortNames.get(j)+functionInstancesShortNames.get(functionInstancesShortNames.size()-1));
+        }
+        for (int j=0;j<functionInstancesShortNames.size();j++){//z
+            linear.add(-1, "x"+functionInstancesShortNames.get(functionInstancesShortNames.size()-1)+functionInstancesShortNames.get(j));
+        }
+        problem.add("7-dest",linear, "=", 1);
+        //Regular case
+        linear = new Linear();
+        for (int i=1;i<functionInstancesShortNames.size()-1;i++){ //v minus source and destination
+            for (int j=0;j<functionInstancesShortNames.size();j++){//w
+                linear.add(1, "x"+functionInstancesShortNames.get(j)+functionInstancesShortNames.get(i));
+            }
+            for (int j=0;j<functionInstancesShortNames.size();j++){//z
+                linear.add(-1, "x"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+            }
+            problem.add("5-regular"+i,linear, "=", 0);
+            linear = new Linear(); //Do not forget to reset!
+        }
+        //Number 8
+        linear = new Linear();
+        for (int i=0;i<requestChain.size();i++){ //f
+            for (int j=1;j<functionInstancesShortNames.size()-1;j++){//v [(should not place on the source or the end)]
+                linear.add(isFunctionInstanceForFunction(functionInstancesLongNames.get(j),requestChain.get(i)), "y"+functionInstancesShortNames.get(j));
+            }
+            problem.add("8_"+i,linear, "=", 1);
+            linear = new Linear();
+        }
+
+        //Number 9
+        linear = new Linear();
+            for (int j=1;j<functionInstancesShortNames.size()-1;j++){//v - source - destination
+                for (int k=0;k<functionInstancesShortNames.size();k++) {//w
+                    linear.add(1, "x" + functionInstancesShortNames.get(j) + functionInstancesShortNames.get(k));
+                }
+                linear.add(-1, "y" + functionInstancesShortNames.get(j));
+                problem.add("9_"+j,linear, "=",0);
+                linear = new Linear();
+            }
+        //Number 10
+        for (int i=0;i<functionInstancesShortNames.size();i++){ //w
+            linear = new Linear();
+            for (int j=0;j<functionInstancesShortNames.size();j++){//v
+                linear.add(1, "x"+functionInstancesShortNames.get(j)+functionInstancesShortNames.get(i));
+            }
+            problem.add("10_"+i,linear, "<=", 1);
+        }
+        //Number 11
+        for (int i=0;i<functionInstancesShortNames.size();i++){ //v
+            linear = new Linear();
+            for (int j=0;j<functionInstancesShortNames.size();j++){//w
+                linear.add(1, "x"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+            }
+            problem.add("11_"+i,linear, "<=", 1);
+        }
+
+        //Number 12
+        linear = new Linear();
+        for (int i=0;i<functionInstancesShortNames.size();i++){ //v
+            for (int j=0;j<functionInstancesShortNames.size();j++){//w
+                linear.add(1, "o"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+                linear.add(-beta, "x"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+                problem.add("12_"+i+"_"+j,linear, "<=", 0);
+                linear = new Linear();
+            }
+        }
+        //Number 13 - special case source node
+        linear = new Linear();
+        for (int j=0;j<functionInstancesShortNames.size();j++) {//w
+            linear.add(1, "o"+functionInstancesShortNames.get(j)+functionInstancesShortNames.get(0));
+            linear.add(-1, "o"+functionInstancesShortNames.get(0)+functionInstancesShortNames.get(j));
+            linear.add(-1, "x"+functionInstancesShortNames.get(0)+functionInstancesShortNames.get(j));
+        }
+        problem.add("13-source",linear, "=", -beta);
+        // Number 13
+        linear = new Linear();
+        for (int i=1;i<functionInstancesShortNames.size()-1;i++) { //v - source - destination
+            for (int j=0;j<functionInstancesShortNames.size();j++) {//w
+                linear.add(1, "o"+functionInstancesShortNames.get(j)+functionInstancesShortNames.get(i));
+                linear.add(-1, "o"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+                linear.add(-1, "x"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+            }
+            problem.add("13_"+i,linear, "=", 0);
+            linear = new Linear();
+        }
+        //Number 14 - My alternative of constraint to enforce order
+        linear = new Linear();
+        for (int i=1;i<functionInstancesShortNames.size()-1;i++){ //v (- destination) - source (cannot place on source anyway)
+            for (int j=1;j<functionInstancesShortNames.size()-1;j++){ //w (- destination) - source
+                if (i != j) {
+                    for (int k = 0; k < requestChain.size(); k++) {
+                        for (int l = 0; l < requestChain.size(); l++) {
+                            if(k!=l){
+                                //The order in the request chain order should be the order in which the function should be placed
+                                if(k==l-1){
+                                    if(isFunctionInstanceForFunction(functionInstancesLongNames.get(i),requestChain.get(k))==1 &&isFunctionInstanceForFunction(functionInstancesLongNames.get(j),requestChain.get(l)) ==1) {
+                                        for (int m = 0; m < functionInstancesShortNames.size()-1; m++) {//alpha
+                                            linear.add(isFunctionInstanceForFunction(functionInstancesLongNames.get(i),requestChain.get(k)), "o" + functionInstancesShortNames.get(m) + functionInstancesShortNames.get(i));
+                                            linear.add(-isFunctionInstanceForFunction(functionInstancesLongNames.get(j),requestChain.get(l)) , "o" + functionInstancesShortNames.get(m) + functionInstancesShortNames.get(j));
+                                            linear.add(-beta, "x" + functionInstancesShortNames.get(m)+functionInstancesShortNames.get(j));
+                                        }
+                                        linear.add(-1, "x" + functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+                                        linear.add(-beta, "y" + functionInstancesShortNames.get(i));
+                                        linear.add(beta, "y" + functionInstancesShortNames.get(j));
+                                        problem.add("14new_" + i + "_" + j + "_" + k + "_" + l, linear, ">=", -beta);
+                                        linear = new Linear();
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        //Number 15
+        linear = new Linear();
+        //Travelling part
+        for (int i=0;i<functionInstancesShortNames.size();i++){
+            for (int j=0;j<functionInstancesShortNames.size();j++){
+                    linear.add(network.getLinkTransmissionTime(functionInstancesLongNames.get(i),functionInstancesLongNames.get(j)), "x"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+            }
+        }
+        //Purchasing part
+        for (int i=1;i<functionInstancesShortNames.size()-1;i++){ //Exclude the start node and the end node
+            String currentName = functionInstancesLongNames.get(i);
+            Pair<String, String> nameSplit= Utils.splitLongFunctionInstanceName(currentName);
+                linear.add(network.getExecutionTime(nameSplit.getKey(),nameSplit.getValue()), "y"+functionInstancesShortNames.get(i));
+        }
+        problem.add("15",linear, "<=", deadline);
+
+        //No self loop
+        linear = new Linear();
+        for (int i=0;i<functionInstancesShortNames.size();i++){
+                linear.add(1, "x"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(i));
+        }
+        problem.add("noSelfLoop",linear, "=", 0);
+
+        //Force so that nothing is placed on start and end
+        linear = new Linear();
+        linear.add(1, "y"+functionInstancesShortNames.get(0));
+        problem.add("NoPlacementOnStart",linear, "=", 0);
+        linear = new Linear();
+        linear.add(1, "y"+functionInstancesShortNames.get(functionInstancesShortNames.size()-1));
+        problem.add("NoPlacementOnEnd",linear, "=", 0);
+
+        //Solve the problem
+        Solver solver = new SolverGurobi();
+        Result result = solver.solve(problem);
+
+        if (result == null){
+            //Infeasible model, the request most likely cannot be served in time and should be dropped to avoid wasting resources
+            System.out.println("The request is infeasible");
+            return null;
+        }
+
+        System.out.println(result);
+
+        //Transform the solver output into a placement variable
+        List<String> optimalTourOrder = new LinkedList<>();
+        List<String> optimalTourVisitReason = new LinkedList<>();
+        List<String> allElementsForTiming = new LinkedList<>();
+
+        //Get which links were selected by the solver
+        Map<String,String> selectedLinks =new HashMap<>();
+        for (int i=0;i<functionInstancesShortNames.size();i++){
+            for (int j=0;j<functionInstancesShortNames.size();j++){
+                //Check all the decision variables x values and extract the ones selected
+                if (result.getPrimalValue("x"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j)).intValue()==1){
+                   selectedLinks.put(functionInstancesLongNames.get(i),functionInstancesLongNames.get(j));
+                   allElementsForTiming.add(functionInstancesLongNames.get(i)+"=>"+functionInstancesLongNames.get(j)); //Add all links
+                }
+            }
+        }
+        //Follow the path and fill the pre-return variables
+        //Deal with the start device
+        optimalTourOrder.add(startLocation);
+        optimalTourVisitReason.add("Start");
+        String currentInstance = selectedLinks.get(Utils.START);
+        //Deal with the middle devices based on the solver output
+        while(!currentInstance.equals(Utils.END)){
+            allElementsForTiming.add(currentInstance);
+            Pair<String,String> instanceSplit = Utils.splitLongFunctionInstanceName(currentInstance);
+            optimalTourOrder.add(instanceSplit.getKey());
+            optimalTourVisitReason.add(instanceSplit.getValue());
+            currentInstance=selectedLinks.get(currentInstance);
+        }
+
+        //Deal with the destination device
+        optimalTourOrder.add(destinationLocation);
+        optimalTourVisitReason.add("Destination");
+
+        //Creating the return variable
+        Triple<List<String>,List<String>,List<String>> placement= new Triple<>(optimalTourOrder,optimalTourVisitReason, allElementsForTiming);
+        return placement;
+    }
+
+    public RequestPlacementOutput run(Application currentApplication, String startLocation) {
+        //Getting the start location, i.e. the device at which the tuple is received
+        this.startLocation = startLocation;
+        this.destinationLocation = startLocation;//In the current implementation, start and end device are the same.
+
+        RequestPlacementOutput placement = new RequestPlacementOutput();
+        List<String> requestChain = currentApplication.getRequestChain();
+
+        Triple<List<String>,List<String>,List<String>> output = optimizationSolve(requestChain);
+        if (output == null){
+            //No placement solution
+            return null;
+        }
+
+        //Fix the placement class
+        placement.setObtainedTour(output.getLeft());
+        placement.setObtainedTourVisitReason(output.getMiddle());
+        placement.updateAppFunctionToDevice();
+        placement.setElementsForTiming(output.getRight());
+
+        return placement;
+    }
+
+    private int isFunctionInstanceForFunction(String longFunctionInstanceName,String functionName){
+        //Note: we assume that the long name is "device name" +"-"+"functionName"
+        //If it is not like that, this function does not work
+        boolean answer =longFunctionInstanceName.contains(functionName);
+        return (answer) ? 1 : 0;
+    }
+
+}
diff --git a/Code/src/placement/OptimalRequestPlacement_Overall.java b/Code/src/placement/OptimalRequestPlacement_Overall.java
new file mode 100644
index 0000000000000000000000000000000000000000..96c5a122dc49bacae2f20eeda9291a9371b48823
--- /dev/null
+++ b/Code/src/placement/OptimalRequestPlacement_Overall.java
@@ -0,0 +1,358 @@
+package placement;
+
+import application.Application;
+import net.sf.javailp.*;
+import device.Device;
+import org.apache.commons.math3.util.Pair;
+import system.Network;
+import utils.Triple;
+import utils.Utils;
+
+import java.util.*;
+
+/**
+ * Created by Klervie Toczé
+ * Request Placement using ILP
+ * Optimization objective: Overall Energy
+ */
+public class OptimalRequestPlacement_Overall implements RequestPlacementLogic {
+
+    Network network;
+    List<Device> edgeDevicesInArea;//edge devices that can be considered for placement
+    Map<String,Device> edgeDevicesInAreaByName;
+
+    private String startLocation; //The device name of the start location for the request
+    private String destinationLocation; //The device name of the destination location for the request
+
+    public OptimalRequestPlacement_Overall(Network network) {
+        this.network=network;
+        this.edgeDevicesInArea=network.getEdgeDevices();
+        this.edgeDevicesInAreaByName = new HashMap<>();
+        for (Device device : edgeDevicesInArea){
+            this.edgeDevicesInAreaByName.put(device.getName(),device);
+        }
+    }
+
+    private Triple<List<String>,List<String>,List<String>> optimizationSolve(List<String> requestChain){
+
+        SolverFactory factory = new SolverFactoryGurobi();
+        factory.setParameter(Solver.VERBOSE,0);
+        factory.setParameter(Solver.TIMEOUT,1000); //Timeout of 1000 seconds
+
+        //Get the names of the function instances
+        List<String> functionInstancesLongNames = new ArrayList<>();
+        List<String> functionInstancesShortNames = new ArrayList<>();
+        functionInstancesShortNames.add(Utils.START);
+        functionInstancesLongNames.add(Utils.START);
+        for (Device device : edgeDevicesInArea){
+            if(device.getDeviceType()== Device.EDGE) {
+                //We are not interested by adding end device nodes
+                //The function instances placed are accessible via Device
+                    for (String module:device.getPlacedModulesOnDevice()){
+                        //Note: the dash in between is to facilitate re-split later
+                        String longName= device.getName() +"-" + module;
+                        //Create a shorter name - Assuming a node name of type "gateway_0", we want the first character and the number
+                        // followed by the two first letters of the module name
+                        String shortNameDevice;
+                        String nodeName=device.getName();
+                        if (nodeName.charAt(nodeName.length()-2)!="_".charAt(0)){
+                            shortNameDevice= ""+nodeName.charAt(0)+nodeName.charAt(nodeName.length()-2)+nodeName.charAt(nodeName.length()-1);
+                        }
+                        else {
+                            shortNameDevice= ""+nodeName.charAt(0)+nodeName.charAt(nodeName.length()-1);
+                        }
+                        String shortName = shortNameDevice +module.charAt(0)+module.charAt(1);
+                        functionInstancesShortNames.add(shortName);
+                        functionInstancesLongNames.add(longName);
+                    }
+            }
+        }
+        functionInstancesShortNames.add(Utils.END);
+        functionInstancesLongNames.add(Utils.END);
+
+        //Create a shorter version of the names for the requestChain
+        List<String> shortNameRequestChain = new ArrayList<>();
+        for (String longName : requestChain){
+            String shortName = ""+longName.charAt(0)+longName.charAt(1)+longName.charAt(2);
+            shortNameRequestChain.add(shortName);
+        }
+
+        //Input variables
+        //Create/Get the coefficients for the lambdas values in the objective function
+        int beta = requestChain.size()+2;//Add to be +2 to be number of links between instance + 1 due to constraint 6
+        double deadline = 100;
+
+        Problem problem = new Problem();
+
+        //Decision variables
+        for (int i=0;i<functionInstancesShortNames.size();i++){
+            for (int j=0;j<functionInstancesShortNames.size();j++){
+                    problem.setVarType("x" + functionInstancesShortNames.get(i) + functionInstancesShortNames.get(j), Boolean.class);
+            }
+        }
+        for (int i=0;i<functionInstancesShortNames.size();i++){
+                problem.setVarType("y"+functionInstancesShortNames.get(i), Boolean.class);
+        }
+        for (int i=0;i<functionInstancesShortNames.size();i++){
+            for (int j=0;j<functionInstancesShortNames.size();j++){
+                    problem.setVarType("o" + functionInstancesShortNames.get(i) + functionInstancesShortNames.get(j), Integer.class);
+                    problem.setVarLowerBound("o"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j),0);
+                    problem.setVarUpperBound("o"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j),beta);
+            }
+        }
+
+        //Create the objective constraint
+        Linear linear = new Linear();
+        //Travelling part
+        for (int i=0;i<functionInstancesShortNames.size();i++){
+            for (int j=0;j<functionInstancesShortNames.size();j++){
+                    linear.add(network.getLinkEnergyConsumption(functionInstancesLongNames.get(i),functionInstancesLongNames.get(j),this.startLocation,this.destinationLocation), "x"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+            }
+        }
+        //Purchasing part
+        for (int i=1;i<functionInstancesShortNames.size()-1;i++){ //Exclude the start and end nodes
+                linear.add(network.getInstanceEnergyConsumption(functionInstancesLongNames.get(i)), "y"+functionInstancesShortNames.get(i));
+        }
+        problem.setObjective(linear, OptType.MIN);
+
+        //Add the constraints
+        //Number 6
+        //Special case source
+        linear = new Linear();
+        for (int j=0;j<functionInstancesShortNames.size();j++){//w
+            linear.add(1, "x"+functionInstancesShortNames.get(j)+functionInstancesShortNames.get(0));
+        }
+        for (int j=0;j<functionInstancesShortNames.size();j++){//z
+            linear.add(-1, "x"+functionInstancesShortNames.get(0)+functionInstancesShortNames.get(j));
+        }
+        problem.add("6-source",linear, "=", -1);
+        //Special case destination
+        linear = new Linear();
+        for (int j=0;j<functionInstancesShortNames.size();j++){//w
+            linear.add(1, "x"+functionInstancesShortNames.get(j)+functionInstancesShortNames.get(functionInstancesShortNames.size()-1));
+        }
+        for (int j=0;j<functionInstancesShortNames.size();j++){//z
+            linear.add(-1, "x"+functionInstancesShortNames.get(functionInstancesShortNames.size()-1)+functionInstancesShortNames.get(j));
+        }
+        problem.add("7-dest",linear, "=", 1);
+        //Regular case
+        linear = new Linear();
+        for (int i=1;i<functionInstancesShortNames.size()-1;i++){ //v minus source and destination
+            for (int j=0;j<functionInstancesShortNames.size();j++){//w
+                linear.add(1, "x"+functionInstancesShortNames.get(j)+functionInstancesShortNames.get(i));
+            }
+            for (int j=0;j<functionInstancesShortNames.size();j++){//z
+                linear.add(-1, "x"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+            }
+            problem.add("5-regular"+i,linear, "=", 0);
+            linear = new Linear(); //Do not forget to reset!
+        }
+        //Number 8
+        linear = new Linear();
+        for (int i=0;i<requestChain.size();i++){ //f
+            for (int j=1;j<functionInstancesShortNames.size()-1;j++){//v [(should not place on the source or the end)]
+                linear.add(isFunctionInstanceForFunction(functionInstancesLongNames.get(j),requestChain.get(i)), "y"+functionInstancesShortNames.get(j));
+            }
+            problem.add("8_"+i,linear, "=", 1);
+            linear = new Linear();
+        }
+
+        //Number 9
+        linear = new Linear();
+            for (int j=1;j<functionInstancesShortNames.size()-1;j++){//v - source - destination
+                for (int k=0;k<functionInstancesShortNames.size();k++) {//w
+                    linear.add(1, "x" + functionInstancesShortNames.get(j) + functionInstancesShortNames.get(k));
+                }
+                linear.add(-1, "y" + functionInstancesShortNames.get(j));
+                problem.add("9_"+j,linear, "=",0);
+                linear = new Linear();
+            }
+        //Number 10
+        for (int i=0;i<functionInstancesShortNames.size();i++){ //w
+            linear = new Linear();
+            for (int j=0;j<functionInstancesShortNames.size();j++){//v
+                linear.add(1, "x"+functionInstancesShortNames.get(j)+functionInstancesShortNames.get(i));
+            }
+            problem.add("10_"+i,linear, "<=", 1);
+        }
+        //Number 11
+        for (int i=0;i<functionInstancesShortNames.size();i++){ //v
+            linear = new Linear();
+            for (int j=0;j<functionInstancesShortNames.size();j++){//w
+                linear.add(1, "x"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+            }
+            problem.add("11_"+i,linear, "<=", 1);
+        }
+
+        //Number 12
+        linear = new Linear();
+        for (int i=0;i<functionInstancesShortNames.size();i++){ //v
+            for (int j=0;j<functionInstancesShortNames.size();j++){//w
+                linear.add(1, "o"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+                linear.add(-beta, "x"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+                problem.add("12_"+i+"_"+j,linear, "<=", 0);
+                linear = new Linear();
+            }
+        }
+        //Number 13 - special case source node
+        linear = new Linear();
+        for (int j=0;j<functionInstancesShortNames.size();j++) {//w
+            linear.add(1, "o"+functionInstancesShortNames.get(j)+functionInstancesShortNames.get(0));
+            linear.add(-1, "o"+functionInstancesShortNames.get(0)+functionInstancesShortNames.get(j));
+            linear.add(-1, "x"+functionInstancesShortNames.get(0)+functionInstancesShortNames.get(j));
+        }
+        problem.add("13-source",linear, "=", -beta);
+        // Number 13
+        linear = new Linear();
+        for (int i=1;i<functionInstancesShortNames.size()-1;i++) { //v - source - destination
+            for (int j=0;j<functionInstancesShortNames.size();j++) {//w
+                linear.add(1, "o"+functionInstancesShortNames.get(j)+functionInstancesShortNames.get(i));
+                linear.add(-1, "o"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+                linear.add(-1, "x"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+            }
+            problem.add("13_"+i,linear, "=", 0);
+            linear = new Linear();
+        }
+        //Number 14 - My alternative of constraint to enforce order
+        linear = new Linear();
+        for (int i=1;i<functionInstancesShortNames.size()-1;i++){ //v (- destination) - source (cannot place on source anyway)
+            for (int j=1;j<functionInstancesShortNames.size()-1;j++){ //w (- destination) - source
+                if (i != j) {
+                    for (int k = 0; k < requestChain.size(); k++) {
+                        for (int l = 0; l < requestChain.size(); l++) {
+                            if(k!=l){
+                                //The order in the request chain order should be the order in which the function should be placed
+                                if(k==l-1){
+                                    if(isFunctionInstanceForFunction(functionInstancesLongNames.get(i),requestChain.get(k))==1 &&isFunctionInstanceForFunction(functionInstancesLongNames.get(j),requestChain.get(l)) ==1) {
+                                        for (int m = 0; m < functionInstancesShortNames.size()-1; m++) {//alpha
+                                            linear.add(isFunctionInstanceForFunction(functionInstancesLongNames.get(i),requestChain.get(k)), "o" + functionInstancesShortNames.get(m) + functionInstancesShortNames.get(i));
+                                            linear.add(-isFunctionInstanceForFunction(functionInstancesLongNames.get(j),requestChain.get(l)) , "o" + functionInstancesShortNames.get(m) + functionInstancesShortNames.get(j));
+                                            linear.add(-beta, "x" + functionInstancesShortNames.get(m)+functionInstancesShortNames.get(j));
+                                        }
+                                        linear.add(-1, "x" + functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+                                        linear.add(-beta, "y" + functionInstancesShortNames.get(i));
+                                        linear.add(beta, "y" + functionInstancesShortNames.get(j));
+                                        problem.add("14new_" + i + "_" + j + "_" + k + "_" + l, linear, ">=", -beta);
+                                        linear = new Linear();
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        //Number 15
+        linear = new Linear();
+        //Travelling part
+        for (int i=0;i<functionInstancesShortNames.size();i++){
+            for (int j=0;j<functionInstancesShortNames.size();j++){
+                    linear.add(network.getLinkTransmissionTime(functionInstancesLongNames.get(i),functionInstancesLongNames.get(j)), "x"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j));
+            }
+        }
+        //Purchasing part
+        for (int i=1;i<functionInstancesShortNames.size()-1;i++){ //Exclude the start node and the end node
+            String currentName = functionInstancesLongNames.get(i);
+            Pair<String, String> nameSplit= Utils.splitLongFunctionInstanceName(currentName);
+                linear.add(network.getExecutionTime(nameSplit.getKey(),nameSplit.getValue()), "y"+functionInstancesShortNames.get(i));
+        }
+        problem.add("15",linear, "<=", deadline);
+
+        //No self loop
+        linear = new Linear();
+        for (int i=0;i<functionInstancesShortNames.size();i++){
+                linear.add(1, "x"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(i));
+        }
+        problem.add("noSelfLoop",linear, "=", 0);
+
+        //Force so that nothing is placed on start and end
+        linear = new Linear();
+        linear.add(1, "y"+functionInstancesShortNames.get(0));
+        problem.add("NoPlacementOnStart",linear, "=", 0);
+        linear = new Linear();
+        linear.add(1, "y"+functionInstancesShortNames.get(functionInstancesShortNames.size()-1));
+        problem.add("NoPlacementOnEnd",linear, "=", 0);
+
+        //Solve the problem
+        Solver solver = new SolverGurobi();
+        Result result = solver.solve(problem);
+
+        if (result == null){
+            //Infeasible model, the request most likely cannot be served in time and should be dropped to avoid wasting resources
+            System.out.println("The request is infeasible");
+            return null;
+        }
+
+        System.out.println(result);
+
+        //Transform the solver output into a placement variable
+        List<String> optimalTourOrder = new LinkedList<>();
+        List<String> optimalTourVisitReason = new LinkedList<>();
+        List<String> allElementsForTiming = new LinkedList<>();
+
+        //Get which links were selected by the solver
+        Map<String,String> selectedLinks =new HashMap<>();
+        for (int i=0;i<functionInstancesShortNames.size();i++){
+            for (int j=0;j<functionInstancesShortNames.size();j++){
+                //Check all the decision variables x values and extract the ones selected
+                if (result.getPrimalValue("x"+functionInstancesShortNames.get(i)+functionInstancesShortNames.get(j)).intValue()==1){
+                   selectedLinks.put(functionInstancesLongNames.get(i),functionInstancesLongNames.get(j));
+                   allElementsForTiming.add(functionInstancesLongNames.get(i)+"=>"+functionInstancesLongNames.get(j)); //Add all links
+                }
+            }
+        }
+        //Follow the path and fill the pre-return variables
+        //Deal with the start device
+        optimalTourOrder.add(startLocation);
+        optimalTourVisitReason.add("Start");
+        String currentInstance = selectedLinks.get(Utils.START);
+        //Deal with the middle devices based on the solver output
+        while(!currentInstance.equals(Utils.END)){
+            allElementsForTiming.add(currentInstance);
+            Pair<String,String> instanceSplit = Utils.splitLongFunctionInstanceName(currentInstance);
+            optimalTourOrder.add(instanceSplit.getKey());
+            optimalTourVisitReason.add(instanceSplit.getValue());
+            currentInstance=selectedLinks.get(currentInstance);
+        }
+
+        //Deal with the destination device
+        optimalTourOrder.add(destinationLocation);
+        optimalTourVisitReason.add("Destination");
+
+        //Creating the return variable
+        Triple<List<String>,List<String>,List<String>> placement= new Triple<>(optimalTourOrder,optimalTourVisitReason, allElementsForTiming);
+        return placement;
+    }
+
+    public RequestPlacementOutput run(Application currentApplication, String startLocation) {
+        //Getting the start location, i.e. the device at which the tuple is received
+        this.startLocation = startLocation;
+        this.destinationLocation = startLocation;//In the current implementation, start and end device are the same.
+
+        RequestPlacementOutput placement = new RequestPlacementOutput();
+        List<String> requestChain = currentApplication.getRequestChain();
+
+        Triple<List<String>,List<String>,List<String>> output = optimizationSolve(requestChain);
+        if (output == null){
+            //No placement solution
+            return null;
+        }
+
+        //Fix the placement class
+        placement.setObtainedTour(output.getLeft());
+        placement.setObtainedTourVisitReason(output.getMiddle());
+        placement.updateAppFunctionToDevice();
+        placement.setElementsForTiming(output.getRight());
+
+        return placement;
+    }
+
+    private int isFunctionInstanceForFunction(String longFunctionInstanceName,String functionName){
+        //Note: we assume that the long name is "device name" +"-"+"functionName"
+        //If it is not like that, this function does not work
+        boolean answer =longFunctionInstanceName.contains(functionName);
+        return (answer) ? 1 : 0;
+    }
+
+}
diff --git a/Code/src/placement/RequestPlacementLogic.java b/Code/src/placement/RequestPlacementLogic.java
new file mode 100644
index 0000000000000000000000000000000000000000..1a5ca54155301a4357b2040046bec6f957c23911
--- /dev/null
+++ b/Code/src/placement/RequestPlacementLogic.java
@@ -0,0 +1,10 @@
+package placement;
+
+import application.Application;
+
+/**
+ * Created by Klervie Toczé
+ */
+public interface RequestPlacementLogic {
+    RequestPlacementOutput run(Application application, String startLocation);
+}
diff --git a/Code/src/placement/RequestPlacementOutput.java b/Code/src/placement/RequestPlacementOutput.java
new file mode 100644
index 0000000000000000000000000000000000000000..57dbc28785cc9c5f8772929852d58c1cd813ec8b
--- /dev/null
+++ b/Code/src/placement/RequestPlacementOutput.java
@@ -0,0 +1,48 @@
+package placement;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Created by Klervie Toczé
+ */
+public class RequestPlacementOutput {
+
+    List<String> obtainedTour; //output of the placement
+    List<String> obtainedTourVisitReason; //output of the placement
+    List<String> elementsForTiming; //All links and devices to be timed according to the placement
+
+    private Map<String, String> appFunctionToDevice; //Function mapping to device name according to obtained tour
+
+    public RequestPlacementOutput() {
+    }
+
+   public Map<String, String> getAppFunctionToDevice(){
+        return this.appFunctionToDevice;
+    }
+
+    public List<String> getElementsForTiming() {
+        return elementsForTiming;
+    }
+
+    public void setObtainedTour(List<String> obtainedTour) {
+        this.obtainedTour = obtainedTour; //Note: shallow copy should not be a problem here as we deep copied when exiting the placement class
+    }
+
+    public void setObtainedTourVisitReason(List<String> obtainedTourVisitReason) {
+        this.obtainedTourVisitReason = obtainedTourVisitReason; //Note: shallow copy should not be a problem here as we deep copied when exiting the placement class
+    }
+
+    public void setElementsForTiming(List<String> elementsForTiming){
+        this.elementsForTiming=elementsForTiming;
+    }
+
+    public void updateAppFunctionToDevice(){
+        appFunctionToDevice = new HashMap<>();
+        for (int i = 1; i< obtainedTour.size()-1; i++){ //We remove the init and end
+            appFunctionToDevice.put(obtainedTourVisitReason.get(i), obtainedTour.get(i));
+        }
+    }
+
+}
diff --git a/Code/src/solver/SolverGurobi.java b/Code/src/solver/SolverGurobi.java
new file mode 100644
index 0000000000000000000000000000000000000000..da19a9f7d1c12c510b889597d166401918c86b14
--- /dev/null
+++ b/Code/src/solver/SolverGurobi.java
@@ -0,0 +1,190 @@
+package solver;//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by FernFlower decompiler)
+//
+
+import gurobi.*;
+import gurobi.GRB.DoubleAttr;
+import gurobi.GRB.DoubleParam;
+import gurobi.GRB.IntParam;
+import net.sf.javailp.*;
+
+import java.util.*;
+
+public class SolverGurobi extends AbstractSolver {
+    protected final Set<Hook> hooks = new HashSet();
+
+    public SolverGurobi() {
+    }
+
+    public Result solve(Problem problem) {
+        Map<Object, GRBVar> objToVar = new HashMap();
+        Map<GRBVar, Object> varToObj = new HashMap();
+
+        try {
+            GRBEnv env = new GRBEnv("gurobi.log");
+            this.initWithParameters(env);
+            GRBModel model = new GRBModel(env);
+            OptType optType = problem.getOptType();
+            Map<Object, Double> optimizationCoefficients = new HashMap();
+            Linear objective = problem.getObjective();
+            Object variable;
+            double coeff;
+            if (objective != null) {
+                for(Iterator i$ = objective.iterator(); i$.hasNext(); optimizationCoefficients.put(variable, coeff)) {
+                    Term term = (Term)i$.next();
+                    variable = term.getVariable();
+                    coeff = term.getCoefficient().doubleValue();
+                    if (optType == OptType.MAX) {
+                        coeff *= -1.0;
+                    }
+                }
+            }
+
+            int i = 1;
+
+            double primalValue;
+            Iterator i$;
+            for(i$ = problem.getVariables().iterator(); i$.hasNext(); ++i) {
+                variable = i$.next();
+                VarType varType = problem.getVarType(variable);
+                Number lowerBound = problem.getVarLowerBound(variable);
+                Number upperBound = problem.getVarUpperBound(variable);
+                primalValue = lowerBound != null ? lowerBound.doubleValue() : -1.7976931348623157E308;
+                double ub = upperBound != null ? upperBound.doubleValue() : Double.MAX_VALUE;
+                String name = variable.toString();
+                char type;
+                switch (varType) {
+                    case BOOL:
+                        type = 'B';
+                        break;
+                    case INT:
+                        type = 'I';
+                        break;
+                    default:
+                        type = 'C';
+                }
+
+                Double coeff2 = (Double)optimizationCoefficients.get(variable);
+                if (coeff2 == null) {
+                    coeff2 = 0.0;
+                }
+
+                GRBVar var = model.addVar(primalValue, ub, coeff2, type, name);
+                objToVar.put(variable, var);
+                varToObj.put(var, variable);
+            }
+
+            model.update();
+
+            Constraint constraint;
+            GRBLinExpr expr;
+            char operator;
+            for(i$ = problem.getConstraints().iterator(); i$.hasNext(); model.addConstr(expr, operator, constraint.getRhs().doubleValue(), constraint.getName())) {
+                constraint = (Constraint)i$.next();
+                expr = new GRBLinExpr();
+                Iterator j$ = constraint.getLhs().iterator();
+
+                while(j$.hasNext()) {
+                    Term term = (Term)j$.next();
+                    GRBVar var = (GRBVar)objToVar.get(term.getVariable());
+                    expr.addTerm(term.getCoefficient().doubleValue(), var);
+                }
+
+                if (constraint.getOperator() == Operator.GE) {
+                    operator = '>';
+                } else if (constraint.getOperator() == Operator.LE) {
+                    operator = '<';
+                } else {
+                    operator = '=';
+                }
+            }
+
+            i$ = this.hooks.iterator();
+
+            while(i$.hasNext()) {
+                Hook hook = (Hook)i$.next();
+                hook.call(env, model, objToVar, varToObj, problem);
+            }
+
+            //The two lines below can be uncommented to investigate why a model is infeasible
+            //model.computeIIS();
+            //model.write("infeasible.ilp");
+
+            model.optimize();
+            System.out.println("Model status is "+ model.get(GRB.IntAttr.Status));
+            System.out.println("Model runtime is "+ model.get(GRB.DoubleAttr.Runtime));
+
+            //Below code to exit in a controlled way if the model is infeasible
+            if (model.get(GRB.IntAttr.Status) == 3){//INFEASIBLE See https://www.gurobi.com/documentation/9.1/refman/optimization_status_codes.html
+                return null;
+            }
+
+            ResultImpl result;
+            if (problem.getObjective() != null) {
+                result = new ResultImpl(problem.getObjective());
+            } else {
+                result = new ResultImpl();
+            }
+
+            Iterator j$ = objToVar.entrySet().iterator();
+
+            while(j$.hasNext()) {
+                Map.Entry<Object, GRBVar> entry = (Map.Entry)j$.next();
+                Object variable2 = entry.getKey();
+                GRBVar var = (GRBVar)entry.getValue();
+                primalValue = var.get(DoubleAttr.X);
+                if (problem.getVarType(variable2).isInt()) {
+                    int v = (int)Math.round(primalValue);
+                    result.putPrimalValue(variable2, v);
+                } else {
+                    result.putPrimalValue(variable2, primalValue);
+                }
+            }
+
+            return result;
+        } catch (GRBException var23) {
+            var23.printStackTrace();
+            return null;
+        }
+    }
+
+    protected void initWithParameters(GRBEnv env) throws GRBException {
+        Object verbose = this.parameters.get(1);
+        Object timeout = this.parameters.get(0);
+        Number number;
+        if (verbose != null && verbose instanceof Number) {
+            number = (Number)verbose;
+            int value = number.intValue();
+            byte msgLevel;
+            switch (value) {
+                case 0:
+                    msgLevel = 0;
+                    break;
+                default:
+                    msgLevel = 1;
+            }
+
+            env.set(IntParam.OutputFlag, msgLevel);
+        }
+
+        if (timeout != null && timeout instanceof Number) {
+            number = (Number)timeout;
+            double value = number.doubleValue();
+            env.set(DoubleParam.TimeLimit, value);
+        }
+
+    }
+
+    public void addHook(Hook hook) {
+        this.hooks.add(hook);
+    }
+
+    public void removeHook(Hook hook) {
+        this.hooks.remove(hook);
+    }
+
+    public interface Hook {
+        void call(GRBEnv var1, GRBModel var2, Map<Object, GRBVar> var3, Map<GRBVar, Object> var4, Problem var5);
+    }
+}
diff --git a/Code/src/system/Location.java b/Code/src/system/Location.java
new file mode 100644
index 0000000000000000000000000000000000000000..f457244e8f8b7faf54df9c235e76dfff0883f675
--- /dev/null
+++ b/Code/src/system/Location.java
@@ -0,0 +1,12 @@
+package system;
+
+public class Location {
+
+	public double latitude;
+	public double longitude;
+
+	public Location(double latitude, double longitude) {
+		this.latitude = latitude;
+		this.longitude = longitude;
+	}
+}
diff --git a/Code/src/system/Network.java b/Code/src/system/Network.java
new file mode 100644
index 0000000000000000000000000000000000000000..596a8924dbcf614ad1d0f948f5ec6c2813bb856d
--- /dev/null
+++ b/Code/src/system/Network.java
@@ -0,0 +1,600 @@
+package system;
+
+import application.Application;
+import device.Device;
+import org.apache.commons.math3.util.Pair;
+import placement.RequestPlacementOutput;
+import utils.Config;
+import utils.Distribution;
+import utils.NormalDistribution;
+import utils.Utils;
+import org.jgrapht.Graph;
+import org.jgrapht.GraphPath;
+import org.jgrapht.alg.interfaces.ShortestPathAlgorithm;
+import org.jgrapht.alg.shortestpath.DijkstraShortestPath;
+import org.jgrapht.graph.DefaultUndirectedWeightedGraph;
+import org.jgrapht.graph.DefaultWeightedEdge;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class Network {
+
+    List<Device> edgeDevices = new ArrayList<Device>();
+    Map<String, Device> nameToDevice;
+
+    Application application;
+
+    Graph<Device, DefaultWeightedEdge> graph;
+    DijkstraShortestPath<Device, DefaultWeightedEdge> dijkstraAlg;
+
+    Map<String,Double> utilization;
+    Map<String,Double> time_links = new HashMap<>();//Create container
+    Map<String,Double> energy_links = new HashMap<>();//Create container
+    Map<String,Double> energy_residual_links = new HashMap<>();//Create container
+    Map<String,Double> time_devices = new HashMap<>();//Create container
+    Map<String,Double> energy_devices = new HashMap<>();//Create container
+    Map<String,Double> energy_residual_devices = new HashMap<>();//Create container
+
+    String placingDevice;
+
+    public Network(Application applicationConsidered, String placingDevice){
+
+        application= applicationConsidered;
+        this.placingDevice=placingDevice;
+
+        //Locations according to Abilene
+        Map<Integer,Location> locationInfo = new HashMap<Integer,Location>();
+
+        Location location0= new Location(40.71427,-74.00597);
+        locationInfo.put(0,location0);
+        Location location1= new Location(41.85003,-87.65005);
+        locationInfo.put(1,location1);
+        Location location2= new Location(38.89511,-77.03637);
+        locationInfo.put(2,location2);
+        Location location3= new Location(47.60621,-122.33207);
+        locationInfo.put(3,location3);
+        Location location4= new Location(37.36883,-122.03635);
+        locationInfo.put(4,location4);
+        Location location5= new Location(34.05223,-118.24368);
+        locationInfo.put(5,location5);
+        Location location6= new Location(39.73915,-104.9847);
+        locationInfo.put(6,location6);
+        Location location7= new Location(39.11417,-94.62746);
+        locationInfo.put(7,location7);
+        Location location8= new Location(29.76328,-95.36327);
+        locationInfo.put(8,location8);
+        Location location9= new Location(33.749,-84.38798);
+        locationInfo.put(9,location9);
+        Location location10= new Location(39.76838,-86.15804);
+        locationInfo.put(10,location10);
+
+        for (int i = 0; i < 11; i++) {
+
+            Device gateway = createEdgeDevice("gateway_" + i, 300 , Device.EDGE);
+            gateway.setLocationInformation(locationInfo.get(i));
+            edgeDevices.add(gateway);
+        }
+
+        createNetworkGraph();
+        dijkstraAlg = new DijkstraShortestPath<>(graph);
+    }
+
+    private void createNetworkGraph(){
+        graph = new DefaultUndirectedWeightedGraph<>(DefaultWeightedEdge.class);
+
+        //Utility map returning Device based on name - used for creating the links easier
+        nameToDevice= new HashMap<String, Device>();
+
+        // Add vertices
+        for (Device edgeDevice: edgeDevices) {
+            if(edgeDevice.getName().contains("gateway")){ //All of them should
+                graph.addVertex(edgeDevice);
+                //Adding the node to the map
+                nameToDevice.put(edgeDevice.getName(), edgeDevice);
+            }
+        }
+
+        //Add edges - hardcoded to Abilene
+        graph.addEdge(nameToDevice.get("gateway_0"),nameToDevice.get("gateway_1"));
+        graph.addEdge(nameToDevice.get("gateway_0"),nameToDevice.get("gateway_2"));
+        graph.addEdge(nameToDevice.get("gateway_1"),nameToDevice.get("gateway_10"));
+        graph.addEdge(nameToDevice.get("gateway_2"),nameToDevice.get("gateway_9"));
+        graph.addEdge(nameToDevice.get("gateway_3"),nameToDevice.get("gateway_6"));
+        graph.addEdge(nameToDevice.get("gateway_3"),nameToDevice.get("gateway_4"));
+        graph.addEdge(nameToDevice.get("gateway_4"),nameToDevice.get("gateway_5"));
+        graph.addEdge(nameToDevice.get("gateway_4"),nameToDevice.get("gateway_6"));
+        graph.addEdge(nameToDevice.get("gateway_6"),nameToDevice.get("gateway_7"));
+        graph.addEdge(nameToDevice.get("gateway_7"),nameToDevice.get("gateway_8"));
+        graph.addEdge(nameToDevice.get("gateway_7"),nameToDevice.get("gateway_10"));
+        graph.addEdge(nameToDevice.get("gateway_5"),nameToDevice.get("gateway_8"));
+        graph.addEdge(nameToDevice.get("gateway_8"),nameToDevice.get("gateway_9"));
+        graph.addEdge(nameToDevice.get("gateway_9"),nameToDevice.get("gateway_10"));
+
+        //Set the edge weights
+        for (DefaultWeightedEdge edge: graph.edgeSet()){
+            double calculatedWeight = calculateWeight(graph.getEdgeSource(edge), graph.getEdgeTarget(edge));
+            graph.setEdgeWeight(edge,calculatedWeight);
+        }
+    }
+
+    public double getLinkTransmissionTime(String startFunctionInstance, String destinationFunctionInstance){
+            //Check if we already have it
+            Double linkTiming = time_links.get(startFunctionInstance+"=>"+destinationFunctionInstance);
+            if(linkTiming==null){
+                //We need to calculate it
+                //Get size to be transmitted
+                Double size = application.getTargetFunctionNwSize(Utils.getTargetFunction(startFunctionInstance+"=>"+destinationFunctionInstance));
+                //Get current utilization
+                Pair<String, String> nameSplitStart= Utils.splitLongFunctionInstanceName(startFunctionInstance);
+                Pair<String, String> nameSplitDestination= Utils.splitLongFunctionInstanceName(destinationFunctionInstance);
+                //Check for start/end nodes
+                if(nameSplitStart.getKey().equals(Utils.START)||nameSplitStart.getKey().equals(Utils.END)){
+                    //OBS for now start and end are the same
+                    String value= nameSplitStart.getValue();//Should be empty string
+                    nameSplitStart=new Pair<>(placingDevice,value);
+                }
+                if(nameSplitDestination.getKey().equals(Utils.START)||nameSplitDestination.getKey().equals(Utils.END)){
+                    //OBS for now start and end are the same
+                    String value= nameSplitDestination.getValue();//Should be empty string
+                    nameSplitDestination=new Pair<>(placingDevice,value);
+                }
+
+                //Special case where end and start are the same - then transmission time is 0
+                if(nameSplitStart.getKey().equals(nameSplitDestination.getKey())){
+                    linkTiming=0.0;
+                }else {
+                    Double currentUtilization = utilization.get(nameSplitStart.getKey() + "=>" + nameSplitDestination.getKey());
+                    //Get available capacity
+                    Double availableCapacity = Config.DEFAULT_LINK_CAPACITY * (1-(currentUtilization / 100));
+                    //Get link latency
+                    Double linkLatency = getLinkLatency(nameSplitStart.getKey(), nameSplitDestination.getKey());
+                    //Calculate according to formula
+                    if (availableCapacity==0){
+                        linkTiming = Double.valueOf(Config.INFINITE);
+                    }else {
+                        linkTiming = (size / availableCapacity) + linkLatency;
+                    }
+                }
+                //Add to the Map variable
+                time_links.put(startFunctionInstance+"=>"+destinationFunctionInstance, linkTiming);
+            }
+            return linkTiming;
+    }
+
+    public double getExecutionTime(String device, String functionInstance){
+            //Check if we already have it
+            Double deviceTiming = time_devices.get(device+"-"+functionInstance);
+            if(deviceTiming==null){
+                //We need to calculate it
+                //Get utilization value for this device
+                Double currentUtilization = utilization.get(device);
+                //Get size to be calculated
+                Double size = application.getTargetFunctionCPUSize(functionInstance);
+                //Get available capacity
+                Double availableCapacity = Config.DEFAULT_DEVICE_CAPACITY * (1-(currentUtilization / 100));//Note: this is allocating all the available capacity
+                //Calculate according to formula
+                if (availableCapacity==0){
+                    deviceTiming=Double.valueOf(Config.INFINITE);
+                }else {
+                    deviceTiming = (size / availableCapacity);
+                }
+                //Add to the Map variable
+                time_devices.put(device+"-"+functionInstance, deviceTiming);
+            }
+            return deviceTiming;
+    }
+
+    private double calculateWeight(Device source, Device destination){
+        //For this scenario the weight is the latency calculated as the distance between the nodes divided by 100
+        double distance = calculateDistance(source.getLocationInformation(),destination.getLocationInformation())/100;
+        return distance;
+    }
+
+    public double calculateDistance(Location loc1, Location loc2) {
+
+        final int R = 6371; // Radius of the earth in Kilometers
+
+        double latDistance = Math.toRadians(loc1.latitude - loc2.latitude);
+        double lonDistance = Math.toRadians(loc1.longitude - loc2.longitude);
+        double a = Math.sin(latDistance / 2) * Math.sin(latDistance / 2)
+                + Math.cos(Math.toRadians(loc1.latitude)) * Math.cos(Math.toRadians(loc2.latitude))
+                * Math.sin(lonDistance / 2) * Math.sin(lonDistance / 2);
+        double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
+        double distance = R * c; // kms
+
+
+        distance = Math.pow(distance, 2);
+
+        return Math.sqrt(distance);
+    }
+
+    private double getLinkLatency(String startDeviceName, String endDeviceName){
+        Device startDevice=nameToDevice.get(startDeviceName);
+        Device endDevice=nameToDevice.get(endDeviceName);
+        ShortestPathAlgorithm.SingleSourcePaths<Device, DefaultWeightedEdge> iPaths = dijkstraAlg.getPaths(startDevice);
+        GraphPath<Device, DefaultWeightedEdge> pathToDestination = iPaths.getPath(endDevice);
+
+        //Calculate the latency of the path by summing the edge latency of its edges
+        double totalLatency = 0;
+        for (DefaultWeightedEdge link : pathToDestination.getEdgeList()){
+            totalLatency+=graph.getEdgeWeight(link);
+        }
+        //Calculate latency
+        return totalLatency;
+    }
+
+    private double getDynamicPowerForUtilization(double utilizationWithServicePlaced, double dynPower){
+        //We consider a linear model were the dynamic power part is 0 at 0% utilization (OBS it still has idle power but this is another constant)
+        // and Dyn power att 100% utilization
+        //utilization in percentage
+        return dynPower*(utilizationWithServicePlaced/100);
+    }
+
+    public double getLinkEnergyConsumption(String startFunctionInstanceName, String destinationFunctionInstanceName,
+                                           String startLocation, String destinationLocation){
+        // 0 - Get names
+        String startDeviceName;
+        if (startFunctionInstanceName==Utils.START){
+            startDeviceName=startLocation;
+        }
+        else if (startFunctionInstanceName==Utils.END){
+            startDeviceName=destinationLocation;
+        }
+        else{
+            Pair<String,String> startSplit = Utils.splitLongFunctionInstanceName(startFunctionInstanceName);
+            startDeviceName= startSplit.getKey();
+        }
+        String destinationDeviceName;
+        if (destinationFunctionInstanceName==Utils.END){
+            destinationDeviceName = destinationLocation;
+        }
+        else if (destinationFunctionInstanceName==Utils.START){
+            destinationDeviceName = startLocation;
+        }
+        else{
+            Pair<String,String> destinationSplit = Utils.splitLongFunctionInstanceName(destinationFunctionInstanceName);
+            destinationDeviceName= destinationSplit.getKey();
+        }
+
+        Double currentUtilization = utilization.get(startDeviceName + "=>" + destinationDeviceName);
+
+        // 1- get the linkTiming
+        double linkTiming=getLinkTransmissionTime(startFunctionInstanceName,destinationFunctionInstanceName);
+
+        // 2 - Check whether we already have calculated the energy
+        double energy_link;
+        if(energy_links.get(startFunctionInstanceName + "=>" + destinationFunctionInstanceName)!= null) {
+            energy_link=energy_links.get(startFunctionInstanceName + "=>" + destinationFunctionInstanceName);
+        }
+        else {
+            //We need to calculate it
+
+            //Get Pidle
+            int p_link_idle = Config.DEFAULT_LINK_P_IDLE;
+            //GetPdyn
+            int p_link_dyn = Config.DEFAULT_LINK_P_DYN;
+            //Calculate energy
+            energy_link = p_link_idle * linkTiming + p_link_dyn * linkTiming;
+
+            //Add to Map variables
+            energy_links.put(startFunctionInstanceName + "=>" + destinationFunctionInstanceName, energy_link);
+        }
+        return energy_link;
+    }
+
+    public double getLinkMarginalEnergyConsumption(String startFunctionInstanceName, String destinationFunctionInstanceName,
+                                                   String startLocation, String destinationLocation){
+        // 0 - Get names
+        String startDeviceName;
+        if (startFunctionInstanceName==Utils.START){
+            startDeviceName=startLocation;
+        }
+        else if (startFunctionInstanceName==Utils.END){
+            startDeviceName=destinationLocation;
+        }
+        else{
+            Pair<String,String> startSplit = Utils.splitLongFunctionInstanceName(startFunctionInstanceName);
+            startDeviceName= startSplit.getKey();
+        }
+        String destinationDeviceName;
+        if (destinationFunctionInstanceName==Utils.END){
+            destinationDeviceName = destinationLocation;
+        }
+        else if (destinationFunctionInstanceName==Utils.START){
+            destinationDeviceName = startLocation;
+        }
+        else{
+            Pair<String,String> destinationSplit = Utils.splitLongFunctionInstanceName(destinationFunctionInstanceName);
+            destinationDeviceName= destinationSplit.getKey();
+        }
+
+        double linkTiming=getLinkTransmissionTime(startFunctionInstanceName,destinationFunctionInstanceName);
+
+        // 2 - Check whether we already have calculated the residual energy
+        double energy_residual_link;
+        if(energy_residual_links.get(startFunctionInstanceName + "=>" + destinationFunctionInstanceName)!= null) {
+            energy_residual_link=energy_residual_links.get(startFunctionInstanceName + "=>" + destinationFunctionInstanceName);
+        }
+        else {
+            //We need to calculate it
+            //First check if the timing is 0 (self loop)
+            if (linkTiming==0.0){
+                energy_residual_link=0.0;
+            }else {
+                //Get Pidle
+                int p_link_idle = Config.DEFAULT_LINK_P_IDLE;
+                //GetPdyn
+                int p_link_dyn = Config.DEFAULT_LINK_P_DYN;
+                //Calculate residual energy
+                energy_residual_link = p_link_idle * linkTiming + p_link_dyn * linkTiming;
+            }
+            //Add to Map variables
+            energy_residual_links.put(startFunctionInstanceName + "=>" + destinationFunctionInstanceName, energy_residual_link);
+        }
+        return energy_residual_link;
+    }
+
+    public double getInstanceEnergyConsumption(String functionInstanceName){
+        // 1- Getting the hardware name
+        Pair<String, String> nameSplit = Utils.splitLongFunctionInstanceName(functionInstanceName);
+        String deviceName = nameSplit.getKey();
+
+        //Check whether we already have info about this
+        double energy_consumption;
+        if(energy_devices.get(functionInstanceName)!=null){
+            energy_consumption=energy_devices.get(functionInstanceName);
+        }else{
+            //We need to calculate it
+
+            //Get execution time
+            double deviceTiming=getExecutionTime(deviceName,nameSplit.getValue());
+
+            //Get Pidle
+            int p_device_idle = Config.DEFAULT_DEVICE_P_IDLE;
+            //GetPdyn
+            int p_device_dyn = Config.DEFAULT_DEVICE_P_DYN;
+            //Calculate energy
+            energy_consumption = p_device_idle * deviceTiming + p_device_dyn * deviceTiming; //Assumes 100% utilization when selected
+
+            //Add to Map variables
+            energy_devices.put(functionInstanceName, energy_consumption);
+        }
+        return energy_consumption;
+    }
+
+    public double getInstanceMarginalEnergyConsumption(String functionInstanceName){
+        // 1- Getting the hardware name
+        Pair<String, String> nameSplit = Utils.splitLongFunctionInstanceName(functionInstanceName);
+        String deviceName = nameSplit.getKey();
+
+        //Check whether we already have info about this
+        double energy_residual_consumption;
+        if(energy_residual_devices.get(functionInstanceName)!=null){
+            energy_residual_consumption=energy_residual_devices.get(functionInstanceName);
+        }else{
+            //We need to calculate it
+
+            //Get execution time
+            double deviceTiming=getExecutionTime(deviceName,nameSplit.getValue());
+
+            //Get Pidle
+            int p_device_idle = Config.DEFAULT_DEVICE_P_IDLE;
+            //GetPdyn
+            int p_device_dyn = Config.DEFAULT_DEVICE_P_DYN;
+            //Get utilization value for this device
+            Double beforeUtilization = utilization.get(deviceName);
+            if (beforeUtilization == 0) {
+                energy_residual_consumption = p_device_idle * deviceTiming + p_device_dyn * deviceTiming; //Assumes the utilization gets up to 100%
+            } else {
+                double utilizationWithServicePlaced = 100.0; //Assumption, see above
+                double utilizationIncrease = utilizationWithServicePlaced - beforeUtilization;
+                //OBS Assumes a linear power consumption model
+                double p_device_dyn_util = getDynamicPowerForUtilization(utilizationIncrease, p_device_dyn);//How much power does the utilization increase due to the placement requires?
+                energy_residual_consumption = p_device_dyn_util * deviceTiming; //Only the dynamic part
+            }
+
+            //Add to Map variables
+            energy_residual_devices.put(functionInstanceName, energy_residual_consumption);
+        }
+        return energy_residual_consumption;
+    }
+
+        public void evaluatePlacementOutput(RequestPlacementOutput output, String startLocationMathematical, String endLocationMathematical){
+
+        if(output==null){
+            System.out.println("No evaluation of the placement, request was infeasible");
+        }else {
+            List<String> elementsToCalculateTime = output.getElementsForTiming();
+            Map<String, String> placement = output.getAppFunctionToDevice();
+
+            for (String element : elementsToCalculateTime) {
+                if (Utils.isLink(element)) {
+                    //It is a link
+
+                    //Get start and end device
+                    Pair<String, String> devices = Utils.getLinkStartAndEndDevices(element);
+                    //Get utilization value for this link
+                    if (devices.getKey().equals(Utils.START)) {
+                        //In our setup the start device=end device=the current device
+                        String endDevice = devices.getValue();
+                        devices = new Pair<>(startLocationMathematical, endDevice);
+                    }
+                    if (devices.getValue().equals(Utils.END)) {
+                        //In our setup the start device=end device=the current device
+                        String startDevice = devices.getKey();
+                        devices = new Pair<>(startDevice, endLocationMathematical);
+                    }
+
+                    //We should have already calculated the value when the optimizer picked it
+                    Double linkTiming = time_links.get(element);
+                    if (linkTiming == null) {
+                        System.out.println("ERROR link timing value not available");
+                    }
+
+                    //We should have already calculated the value when the optimizer picked it
+                    Double energy_link = energy_links.get(element);
+                    if (energy_link == null) {
+                        System.out.println("ERROR link energy value not available");
+                    }
+
+                    Double energy_residual_link = energy_residual_links.get(element);
+                    if (energy_residual_link == null) {
+                        //Calculate it
+                        Pair<String, String> linkSplit = Utils.splitLinkName(element);
+                        getLinkMarginalEnergyConsumption(linkSplit.getKey(), linkSplit.getValue(), startLocationMathematical, endLocationMathematical);
+                    }
+
+                } else {
+                    //It is a node
+                    //Get device name and function instance name
+                    Pair<String, String> deviceAndFunction = Utils.splitLongFunctionInstanceName(element);
+
+                    //We should have already calculated the value when the optimizer picked it
+                    Double deviceTiming = time_devices.get(element);
+                    if (deviceTiming == null) {
+                        System.out.println("ERROR device timing value not available");
+                    }
+
+                    //We should have already calculated the value when the optimizer picked it
+                    Double energy_device = energy_devices.get(element);
+                    if (energy_device == null) {
+                        System.out.println("ERROR device energy value not available");
+                    }
+
+                    Double energy_residual_device = energy_residual_devices.get(element);
+                    if (energy_residual_device == null) {
+                        //Calculate it
+                        getInstanceMarginalEnergyConsumption(element);
+                    }
+                }
+            }
+            //Calculate the total - sum over the elements
+            double timeLink = 0;
+            double timeDevice = 0;
+            double timeLinkDevice = 0;
+            for (String element : elementsToCalculateTime) {
+                if (Utils.isLink(element)) {
+                    timeLink += time_links.get(element);
+                } else {
+                    timeDevice += time_devices.get(element);
+                }
+            }
+            timeLinkDevice = timeLink + timeDevice;
+
+            double energyLink = 0;
+            double energyDevice = 0;
+            double energyLinkDevice = 0;
+            for (String element : elementsToCalculateTime) {
+                if (Utils.isLink(element)) {
+                    energyLink += energy_links.get(element);
+                } else {
+                    energyDevice += energy_devices.get(element);
+                }
+            }
+            energyLinkDevice = energyLink + energyDevice;
+
+            double energyResLink = 0;
+            double energyResDevice = 0;
+            double energyResLinkDevice = 0;
+            for (String element : elementsToCalculateTime) {
+                if (Utils.isLink(element)) {
+                    energyResLink += energy_residual_links.get(element);
+                } else {
+                    energyResDevice += energy_residual_devices.get(element);
+                }
+            }
+            energyResLinkDevice = energyResLink + energyResDevice;
+
+            //Print the results in a usable way
+            System.out.println("Evaluated placement: Time " + timeLinkDevice + " Energy " + energyLinkDevice + " Residual energy " + energyResLinkDevice + "In details - time link "+ timeLink + " time device " + timeDevice + " energy link " + energyLink + " energy device " + energyDevice + " energy res link "+energyResLink + " energy res device "+energyResDevice);
+        }
+    }
+
+    private static Device createEdgeDevice(String nodeName, long mips,
+                                           String deviceType) {
+
+         Device edgedevice = null;
+        try {
+            edgedevice = new Device(nodeName, deviceType,mips);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return edgedevice;
+    }
+
+    public void clear(){
+        time_devices.clear();
+        time_links.clear();
+        energy_links.clear();
+        energy_devices.clear();
+        energy_residual_links.clear();
+        energy_residual_devices.clear();
+    }
+
+    public void createUtilizationData(int scenarioIndex, int repetitionNumber, Boolean usingUniformLoadDistribution,int standardDeviation, Boolean linksAreLoaded){
+        //First create a list of all element that need to have information
+        //Devices
+        List<String> deviceNames = new ArrayList<>();
+        for (Device device : edgeDevices) {
+            if (device.getName().contains("gateway")) {//TODO: with current setup should be all of them so function not needed
+                deviceNames.add(device.getName());
+            }
+        }
+        //Links
+        List<String> linkNames = new ArrayList<>();
+        for (String device1 : deviceNames) {
+            for (String device2 : deviceNames) {
+                if (!device1.equals(device2)) {
+                    //Self loops are not interesting
+                    linkNames.add(device1 + "=>" + device2);
+                }
+            }
+        }
+
+        //Non-uniform
+        Distribution utilizationDistribution = new NormalDistribution(scenarioIndex * 10, standardDeviation, Config.SEED +repetitionNumber+scenarioIndex);
+
+        //Then create the information
+        utilization = new HashMap<>();
+        for (String element : deviceNames) {
+            //Get a value from the chosen distribution
+            //For this scenario - not random
+            Double randomUtil = utilizationDistribution.getNextValue();
+            if (randomUtil < 0) {
+                randomUtil = 0.0;
+            }
+            if (randomUtil > 100) {
+                randomUtil = 100.0;
+            }
+            if(usingUniformLoadDistribution){
+                randomUtil= scenarioIndex*10.0;
+            }
+            utilization.put(element, randomUtil);
+        }
+        for (String element : linkNames) {
+            //Get a value from the chosen distribution
+            //For this scenario - not random
+            Double randomUtil = utilizationDistribution.getNextValue();
+            if (randomUtil <0){
+                randomUtil=0.0;
+            }
+            if (randomUtil >100){
+                randomUtil=100.0;
+            }
+            //Not random variant
+            if(!linksAreLoaded){
+                randomUtil = 0.0;
+            }
+            utilization.put(element, randomUtil);
+        }
+        System.out.println(utilization);
+    }
+
+    public List<Device> getEdgeDevices(){
+        return edgeDevices;
+    }
+}
diff --git a/Code/src/utils/Config.java b/Code/src/utils/Config.java
new file mode 100644
index 0000000000000000000000000000000000000000..2a30df456c252212e5af84609bf3c690496674d1
--- /dev/null
+++ b/Code/src/utils/Config.java
@@ -0,0 +1,14 @@
+package utils;
+
+public class Config {
+	public static final int LOAD_SCENARIO_NUMBER = 11;
+	public static final int REPETITION_NUMBER = 25;
+	public static final int DEFAULT_LINK_CAPACITY =500;//MBytes/sec
+	public static final int DEFAULT_LINK_P_IDLE =1;
+	public static final int DEFAULT_LINK_P_DYN =9;
+	public static final int DEFAULT_DEVICE_CAPACITY =500;//MI
+	public static final int DEFAULT_DEVICE_P_IDLE =98;//W - Data fron Ahvar - Parasilo zero core was 750
+	public static final int DEFAULT_DEVICE_P_DYN =148;//W - Data fron Ahvar - Parasilo one core was 250
+	public static final int INFINITE = 10000;//Very big number so that link/devices with 100% utilization are discarded as impossible
+	public static final int SEED = 165746;
+}
diff --git a/Code/src/utils/Distribution.java b/Code/src/utils/Distribution.java
new file mode 100644
index 0000000000000000000000000000000000000000..902ad788aedaca19a86eacf076e9ac300d090967
--- /dev/null
+++ b/Code/src/utils/Distribution.java
@@ -0,0 +1,14 @@
+package utils;
+
+import java.util.Random;
+
+public abstract class Distribution {
+
+	protected Random random;
+	public abstract double getNextValue();
+	
+	public void setRandom(Random random) {
+		this.random = random;
+	}
+
+}
diff --git a/Code/src/utils/NormalDistribution.java b/Code/src/utils/NormalDistribution.java
new file mode 100644
index 0000000000000000000000000000000000000000..70e9b1a83d159e766cb6d2583c2b9bd5960dabb6
--- /dev/null
+++ b/Code/src/utils/NormalDistribution.java
@@ -0,0 +1,29 @@
+package utils;
+
+import java.util.Random;
+
+public class NormalDistribution extends Distribution{
+
+	private double mean;
+	private double stdDev;
+	
+	public NormalDistribution(double mean, double stdDev, long seed) {
+		setMean(mean);
+		setStdDev(stdDev);
+		setRandom(new Random(seed));
+	}
+	
+	@Override
+	public double getNextValue() {
+		return random.nextGaussian()*stdDev + mean;
+	}
+
+	public void setMean(double mean) {
+		this.mean = mean;
+	}
+
+	public void setStdDev(double stdDev) {
+		this.stdDev = stdDev;
+	}
+
+}
diff --git a/Code/src/utils/Triple.java b/Code/src/utils/Triple.java
new file mode 100644
index 0000000000000000000000000000000000000000..505487fe04a7da33b29551ca7c3ff643aa9e4b9d
--- /dev/null
+++ b/Code/src/utils/Triple.java
@@ -0,0 +1,40 @@
+package utils;
+
+public class Triple<L, M, R> {
+
+    private L left;
+    private M middle;
+    private R right;
+
+    public Triple(L left, M middle, R right) {
+        this.left = left;
+        this.middle = middle;
+        this.right = right;
+    }
+
+    public L getLeft() {
+        return left;
+    }
+
+
+    public void setLeft(L left) {
+        this.left=left;
+    }
+
+    public M getMiddle() {
+        return middle;
+    }
+
+    public void setMiddle(M middle) {
+        this.middle=middle;
+    }
+
+    public R getRight() {
+        return right;
+    }
+
+    public void setRight(R right) {
+        this.right=right;
+    }
+}
+
diff --git a/Code/src/utils/Utils.java b/Code/src/utils/Utils.java
new file mode 100644
index 0000000000000000000000000000000000000000..9cfd7ada58ecd0d9b244e231e330c3b22523c00b
--- /dev/null
+++ b/Code/src/utils/Utils.java
@@ -0,0 +1,73 @@
+package utils;
+
+import org.apache.commons.math3.util.Pair;
+
+public class Utils {
+	public static Pair<String,String> splitLongFunctionInstanceName(String longName){
+		//Right now the assumption is that the two names are separated with a dash
+		//OBS: Do not name devices or functions with a dash inside then!
+		Pair<String,String> split;
+		if(longName.contains("-")){
+			String[] parts = longName.split("-");
+			split=new Pair<>(parts[0],parts[1]);
+		}
+		else{
+			//The longName is for a start or end, then there is no instance
+			split=new Pair<>(longName,"");
+		}
+		return split;
+	}
+
+	public static  Pair<String,String> splitLinkName(String longName){
+		//Right now the assumption is that the two names are separated with =>
+		//OBS: Do not name devices or functions with => inside then!
+		String[] parts = longName.split("=>");
+		Pair<String,String> split=new Pair<>(parts[0],parts[1]);
+		return split;
+	}
+
+	public static boolean isLink(String name){
+		//OBS this is hardcoding
+		//Right now the assumption is that the two names are separated with =>
+		return name.contains("=>");
+	}
+
+	public static Pair<String,String> getLinkStartAndEndDevices(String linkName){
+		String startDevice;
+		String endDevice;
+		Pair<String,String> split = splitLinkName(linkName);
+		if(split.getKey().equals(START)){
+			startDevice=START;
+		}else{
+			Pair<String,String> split2=splitLongFunctionInstanceName(split.getKey());
+			startDevice=split2.getKey();
+		}
+		if(split.getValue().equals(END)){
+			endDevice=END;
+		}else{
+			Pair<String,String> split2=splitLongFunctionInstanceName(split.getValue());
+			endDevice=split2.getKey();
+		}
+		Pair<String,String> result=new Pair<>(startDevice,endDevice);
+		return result;
+	}
+
+	public static String getTargetFunction(String linkName){
+		String result;
+		Pair<String,String> split = splitLinkName(linkName);
+		if(split.getValue().equals(END)){
+			result=END;
+		}else if(split.getValue().equals(START)){
+			//Could be self loop
+			result=START;
+		}		else{
+			Pair<String,String> split2=splitLongFunctionInstanceName(split.getValue());
+			result=split2.getValue();
+		}
+		return result;
+	}
+
+	public static  String START = "S";
+	public static String END = "E";
+
+}