function Juu = Juuderiv2_2est(spec1,spec2,step1, step2,bests,xDs,xBs)
global Col Specs HyCase J_opt 
    load_bests_2est
    Col.ColumnFlowsheet.Run
    MV1 = Specs.Item(spec1).CurrentValue;
    Specs.Item(spec1).GoalValue = MV1 * (1 + step1);
    Col.ColumnFlowsheet.Run
    J_Du1 = Goal_2est(xDs,xBs);
    MV2 = Specs.Item(spec2).CurrentValue;
    Specs.Item(spec2).GoalValue = MV2 * (1 + step2);
    Col.ColumnFlowsheet.Run
    J_Duu = Goal_2est(xDs,xBs);
    load_bests_2est
    Col.ColumnFlowsheet.Run
    MV2 = Specs.Item(spec2).CurrentValue;
    Specs.Item(spec2).GoalValue = MV2 * (1 + step2);
    Col.ColumnFlowsheet.Run
    J_Du2 = Goal_2est(xDs,xBs);
    Juu = (J_Duu + J_opt - J_Du1 - J_Du2) / (step1 * step2);