Browse Source

pidV1更新

gufengshou1 1 year ago
parent
commit
f88db9daee

+ 4 - 5
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/container/PidLambdaContainer.java

@@ -58,10 +58,10 @@ public class PidLambdaContainer {
     @Value("${ad.model.pid.kd:0.2}")
     Double kd = 0d;
 
-    @Value("${ad.model.pid.v2.lambda.max:5.0}")
+    @Value("${ad.model.pid.lambda.max:5.0}")
     Double maxLambda = 0d;
 
-    @Value("${ad.model.pid.v2.lambda.min:0.8}")
+    @Value("${ad.model.pid.lambda.min:0.2}")
     Double minLambda = 0d;
     OSS client;
 
@@ -127,8 +127,8 @@ public class PidLambdaContainer {
                     }
                     latestRealCPA=realCost/conversion;
                     Double lambdaNew =cacheItem.calculate(kp,ki,kd,cpa,latestRealCPA);
-                    if(lambdaNew<0.5){
-                        lambdaNew=0.5;
+                    if(lambdaNew<minLambda){
+                        lambdaNew=minLambda;
                     }
                     cacheItem.lambda=lambdaNew;
                     cacheItem.latestRealCpa=latestRealCPA;
@@ -228,7 +228,6 @@ public class PidLambdaContainer {
             return kp * error + ki * integral + kd * derivative;
         }
 
-
         public void reset() {
             integral = 0;
             lastError = 0;

+ 2 - 2
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/impl/RankServiceImpl.java

@@ -151,8 +151,8 @@ public class RankServiceImpl implements RankService {
                 AdPlatformBidCreativeDTO dto=groupMap.get(item.getAdId()).get(0);
                 item.setBid1(dto.getBid1());
                 item.setBid2(dto.getBid2());
-                item.setCpa(dto.getCpa());
-                item.setPidLambda(PidLambdaContainer.getPidLambda(item.getAdId()));
+                item.setCpa(PidLambdaContainer.getPidLambda(item.getAdId()));
+                item.setPidLambda(1d);
             }catch (Exception e){
                 log.error("rankItems info error itemId={}",item.getAdId());
                 e.printStackTrace();