@@ -876,10 +876,10 @@ bool HighsTransformedLp::transformSNFRelaxation(
876876 aggrvbcoef = static_cast <double >(vals[i] * (HighsCDouble (ub) - lb));
877877 aggrconstant = static_cast <double >(HighsCDouble (vals[i]) * ub);
878878 if (vals[i] >= 0 ) {
879- addSNFRentry (-1 , col, 1.0 , -1 , aggrvbcoef, aggrconstant, 0 ,
879+ addSNFRentry (-1 , col, (ub - getLpSolution (col)) / (ub - lb) , -1 , aggrvbcoef, aggrconstant, 0 ,
880880 -vals[i], false );
881881 } else {
882- addSNFRentry (-1 , col, 1 , 1 , -aggrvbcoef, -aggrconstant, 0 , vals[i],
882+ addSNFRentry (-1 , col, (ub - getLpSolution (col)) / (ub - lb) , 1 , -aggrvbcoef, -aggrconstant, 0 , vals[i],
883883 false );
884884 }
885885 tmpSnfrRhs -= aggrconstant;
@@ -893,10 +893,10 @@ bool HighsTransformedLp::transformSNFRelaxation(
893893 aggrvbcoef = static_cast <double >(vals[i] * (HighsCDouble (ub) - lb));
894894 aggrconstant = static_cast <double >(HighsCDouble (vals[i]) * lb);
895895 if (vals[i] >= 0 ) {
896- addSNFRentry (-1 , col, 1 , 1 , aggrvbcoef, -aggrconstant, 0 , vals[i],
896+ addSNFRentry (-1 , col, ( getLpSolution (col) - lb) / (ub - lb) , 1 , aggrvbcoef, -aggrconstant, 0 , vals[i],
897897 false );
898898 } else {
899- addSNFRentry (-1 , col, 1 , -1 , -aggrvbcoef, aggrconstant, 0 , -vals[i],
899+ addSNFRentry (-1 , col, ( getLpSolution (col) - lb) / (ub - lb) , -1 , -aggrvbcoef, aggrconstant, 0 , -vals[i],
900900 false );
901901 }
902902 tmpSnfrRhs -= aggrconstant;
0 commit comments