diff --git a/bin/LagrangianRelaxation.linux.x86_64.gnu.opt.spx2 b/bin/LagrangianRelaxation.linux.x86_64.gnu.opt.spx2
index d6e0189acdfcd9bfd4ede9f9bc22480bf1be37d2..7646cf7ffeb605a22cfef039e9b54308b7470493 100755
Binary files a/bin/LagrangianRelaxation.linux.x86_64.gnu.opt.spx2 and b/bin/LagrangianRelaxation.linux.x86_64.gnu.opt.spx2 differ
diff --git a/obj/static/O.linux.x86_64.gnu.opt/probdata_lagr.o b/obj/static/O.linux.x86_64.gnu.opt/probdata_lagr.o
index d8f8b75585f6cfe29fcadf2e41b9aa8a9dfcaebf..7e5b979768dd2bbe7213f53767eae1accfb489a8 100644
Binary files a/obj/static/O.linux.x86_64.gnu.opt/probdata_lagr.o and b/obj/static/O.linux.x86_64.gnu.opt/probdata_lagr.o differ
diff --git a/obj/static/O.linux.x86_64.gnu.opt/relax_lagr.o b/obj/static/O.linux.x86_64.gnu.opt/relax_lagr.o
index fcd138f8fbd659a3e0ba26405738bf29074ea9aa..5484d4c3e92bf6ec17dd9678cf50ceae9b9a9c2d 100644
Binary files a/obj/static/O.linux.x86_64.gnu.opt/relax_lagr.o and b/obj/static/O.linux.x86_64.gnu.opt/relax_lagr.o differ
diff --git a/obj/static/O.linux.x86_64.gnu.opt/vardata_lagr.o b/obj/static/O.linux.x86_64.gnu.opt/vardata_lagr.o
index ca171ce968076c9a08438220d7c26d62567bff24..6974595e04195e1d80366d254d7b9f94484f7347 100644
Binary files a/obj/static/O.linux.x86_64.gnu.opt/vardata_lagr.o and b/obj/static/O.linux.x86_64.gnu.opt/vardata_lagr.o differ
diff --git a/src/probdata_lagr.cpp b/src/probdata_lagr.cpp
index 32eab2dd2583f967608cff79af88e0331b523064..20f6666df11db5ec0bbc27c1ba3f61d52228ba69 100644
--- a/src/probdata_lagr.cpp
+++ b/src/probdata_lagr.cpp
@@ -23,6 +23,8 @@ struct SCIP_ProbData
    int                  allnconsvars;
    int*                 listnconsvars;
    int*                 listconsvarids;
+   int*                 increasingorder;
+   
 
 };
 
@@ -44,6 +46,12 @@ SCIP_ProbData* probdata
     return probdata->listconsvarids;
  }
 
+int* SCIPlistincreasing(
+SCIP_ProbData* probdata
+){
+    return probdata->increasingorder;
+ }
+
 SCIP_CONS** SCIPgetSlotConss(
 SCIP_ProbData* probdata
 ){
@@ -231,7 +239,7 @@ SCIP_RETCODE SCIPcreateprobdata
    {
       (*varbuffers)[v] =vars[v];
    }
-
+   printf("all = %d\n",allnconsvars);
    
    counter=0;
    for (int r = 0; r < nSlotConss; ++r)
@@ -246,6 +254,7 @@ SCIP_RETCODE SCIPcreateprobdata
       if (!success){
       abort(); }
       listnconsvars[r] = nconsvars;
+      printf(" %d ",listnconsvars[r]);
       for (int j = 0; j < nconsvars; ++j)                                            /* (8) */
       {
          SCIP_VAR* varx = (*varbuffers)[j];
@@ -255,7 +264,35 @@ SCIP_RETCODE SCIPcreateprobdata
          counter++;
       }
    }
+   printf("\n");
+   int* increasingorder; //example {2,4,6,9,12,...}
+   SCIP_CALL(SCIPallocBufferArray(relaxscip,&increasingorder,nSlotConss));
+   increasingorder[0] = listnconsvars[0]; //listnconsvars[0];
+   for(int r=1; r<nSlotConss;r++)
+   {
+      increasingorder[r]=listnconsvars[r]+increasingorder[r-1];
+      // printf(" %d ",increasingorder[r]);
+   }
 
+   for(int r=0; r<nSlotConss;r++)
+   {
+      for (int p = increasingorder[r]-listnconsvars[r]; p < increasingorder[r]; p++)
+      {
+         printf("%d ",listconsvarids[p]);
+      }
+      printf("\n");
+   }
+   
+   // for(int s=0;s<allnconsvars;s++)
+   // {
+   //    for(int p=2-NVarInBadConss; p<increasingorder[varids[t]]; ++p)
+   //    {
+   //       printf(" %d ",p);
+   //       // printf("%s,",SCIPvarGetName(SCIPgetVars(relaxscip)[listconsvarids[s]]));
+   //    }
+   // }
+
+   
    // counter=0;
    // for(int r=0; r<nSlotConss;++r)
    // {
@@ -330,6 +367,7 @@ SCIP_RETCODE SCIPcreateprobdata
    (*probdata)->allnconsvars= allnconsvars;  //sum of all nconsvars;
    (*probdata)->listnconsvars = listnconsvars;
    (*probdata)->listconsvarids = listconsvarids;
+   (*probdata)->increasingorder = increasingorder;
    return SCIP_OKAY;
 }
 
diff --git a/src/probdata_lagr.h b/src/probdata_lagr.h
index de1c397f937960df4597e4e641191138c21fb5b0..8d074b7e0faf9d48874c7adf7c535512780151f2 100644
--- a/src/probdata_lagr.h
+++ b/src/probdata_lagr.h
@@ -53,6 +53,10 @@ int* SCIPlistconsvarids(
 SCIP_ProbData* probdata
 );
 
+int* SCIPlistincreasing(
+SCIP_ProbData* probdata
+);
+
 SCIP_CONS** SCIPgetSlotConss(
 SCIP_ProbData* probdata
     );
@@ -68,6 +72,7 @@ int SCIPgetNSlotConss(
 SCIP_ProbData* probdata
     );
 
+
 /* here we create the probdata, which will be called for storage of values to the data*/
 SCIP_RETCODE probdataCreate(
    SCIP*                 scip,               /**< SCIP data structure */
diff --git a/src/relax_lagr.cpp b/src/relax_lagr.cpp
index b205be991a32e0c7f1852bf2b67fe7ed9bb7a467..3cccb7ad99975aa52ebe5a937f82e6640da7ef2f 100644
--- a/src/relax_lagr.cpp
+++ b/src/relax_lagr.cpp
@@ -157,14 +157,9 @@ SCIP_DECL_RELAXINIT(relaxInitlagr)
    int allnconsvars = SCIPgetallnconsvars(probdata);    //sum of all nconsvars, used for creating later on an array to collect the list of varids in each row
    int* listnconsvars = SCIPlistnconsvars(probdata);
    int* listconsvarids = SCIPlistconsvarids(probdata);
+   int* increasingorder = SCIPlistincreasing(probdata);
+
 
-   int* increasingorder; //example {2,4,6,9,12,...}
-   SCIP_CALL(SCIPallocBufferArray(relaxscip,&increasingorder,nSlotConss));
-   increasingorder[0] = listnconsvars[0];
-   for(int r=1; r<nSlotConss;r++)
-   {
-      increasingorder[r]=listnconsvars[r]+increasingorder[r-1];
-   }
    /* we then create the vardata function for each variable, to see at which constraint the variable is found*/
    FILE* TimeCollector;
    TimeCollector = fopen("time.txt","w");
@@ -174,7 +169,6 @@ SCIP_DECL_RELAXINIT(relaxInitlagr)
 
    SCIP_CLOCK* totaliteration;                 //to help us record the time
    SCIP_CALL( SCIPcreateClock(relaxscip, &totaliteration) );                     //* start time counting*  
-   
 
 
 
@@ -236,7 +230,7 @@ SCIP_DECL_RELAXINIT(relaxInitlagr)
       for(int t=0;t<NVarInBadConss;t++)
       {
          varids[t]=consids[t];
-         printf("%d \t",varids[t]);
+         // printf("%d \t",varids[t]);
       }
       // printf("\n");
    //    // vardata=SCIPvarGetData(var);
@@ -333,11 +327,13 @@ SCIP_DECL_RELAXINIT(relaxInitlagr)
       feasol[v]=-1;  //we assign initial values equal to -1, signifying that the variable's value hasn't been decided yet.
    }
 
-   for(int v=0;v<nvars;v++)
-   {
-      printf(" %d ",feasol[v]);
+   // for(int v=0;v<nvars;v++)
+   // {
+      // printf(" %d ",feasol[v]);
 
-   }
+   // }
+
+   
 
    int* nvarsingoodconss;
    SCIP_CALL(SCIPallocBufferArray(relaxscip,&nvarsingoodconss,SCIPgetNConss(relaxscip)));      //will contain {9,9,9,9,9,9} for the 6f4s problem.
@@ -364,14 +360,14 @@ SCIP_DECL_RELAXINIT(relaxInitlagr)
       SCIP_CALL(SCIPgetConsNVars(relaxscip, cons, &nconsvars, &valid));
       SCIP_CALL(SCIPgetConsVars(relaxscip, cons, VARSinsidegoodconss, nconsvars, &valid));
       if (!valid){abort(); }
-      //printf("\n %s\t",SCIPconsGetName(cons));
+      printf("\n %s\n",SCIPconsGetName(cons));
       for (int j = 0; j < nconsvars; ++j)                                            /* (8) */
       {
          SCIP_VAR* varx = (VARSinsidegoodconss)[j];
-         //printf("%s\t",SCIPvarGetName(varx));
+         printf("%s\t",SCIPvarGetName(varx));
          int varbufindex = SCIPvarGetIndex(varx);  //get the index, which will be used in assigning values to the feassol.
          assert(varbufindex != NULL);
-         //printf("%d\t",varbufindex);
+         // printf("%d\t",varbufindex);
 
          
 
@@ -389,17 +385,18 @@ SCIP_DECL_RELAXINIT(relaxInitlagr)
             int* varids = SCIPvardataGetvarids(vardata); 
             assert(varids=!NULL);
             int NVarInBadConss = SCIPvardataGetNVarInBadConss(vardata);
-            //printf("nvarincons = %d\t",NVarInBadConss);
+            printf("nvarincons = %d\t",NVarInBadConss);
+            
             for(int t=0;t<NVarInBadConss;t++)
             {
-               printf("%d \n",varids[t]);
-               //varids[t] gives the constraint address. There we still would like to find out which variables are found.
-               for(int p=increasingorder[varids[t]]-NVarInBadConss; p<increasingorder[varids[t]]; ++p)
+               printf("%d \t",varids[t]);
+               // varids[t] gives the constraint address. There we still would like to find out which variables are found.
+               for(int p=increasingorder[varids[t]]-listnconsvars[varids[t]]; p<increasingorder[varids[t]]; ++p)
                {
-                  
+
                   if(SCIPvarGetIndex(vars[listconsvarids[p]])!=varbufindex)
                   {
-                     // printf("var = %s\t",SCIPvarGetName(vars[listconsvarids[p]]));
+                     printf("var = %s\t",SCIPvarGetName(vars[listconsvarids[p]]));
                      if(feasol[listconsvarids[p]]==-1)
                      {
                         feasol[listconsvarids[p]]=0;
@@ -407,11 +404,11 @@ SCIP_DECL_RELAXINIT(relaxInitlagr)
                   }
                }
             }
-            printf("\n");
+         //    printf("\n");
          }
 
                
-         printf("(%s,%d,%f)\n",SCIPvarGetName(varx), varbufindex,feasol[varbufindex]);
+         printf("(%s,%d,%d)\n",SCIPvarGetName(varx), varbufindex,feasol[varbufindex]);
 
 
          
diff --git a/time.txt b/time.txt
index 26bce90a7a526809dcaa728b998930f06a2d7618..91b260f8002e5259d9bc08a50607a2b0e60ae492 100644
--- a/time.txt
+++ b/time.txt
@@ -1,2 +1,2 @@
 
- row and column identified in (sec) : 0.000090
+ row and column identified in (sec) : 0.000252