找回密码
 欢迎注册
楼主: 数学星空

[讨论] 一个问题的极值推广

[复制链接]
发表于 2010-6-16 21:55:37 | 显示全部楼层
单单对于u=1的边界情况,计算好像有点困难。
如果我们能够直接对于13#提出的问题中,将w和c都看成常数,那么只含有4个变量u,v,a,b,由于有3条约束方程,对于给定的u,可以直接解出v,a,b.所以目标函数可以看成u的单变量函数,如果能够证明这个函数二阶导数非负,那么我们可以直接得出最大值必须在边界取到。由此可以推导出13#的问题取最大值时,u,v,w中必须有两个取到1.那么接下去问题会简单一些。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-19 14:54:09 | 显示全部楼层
对于有u个a,v个b,w个c的问题,约束条件为:
${(u+v+w=n),((ua+vb+wc)(u/a+v/b+wc)=N^2):}$
第二个条件可转化为
$uv(b/a+a/b-2)+uw(a/c+c/a-2)+vw(b/c+c/a-2)=N^2-n^2$
我们记$a/b=x,b/c=y,c/a=z$,并且将u,v,w看成已知的,那么可以将问题变为:
${(xyz=1),(uv(x+1/x-2)+vw(y+1/y-2)+uw(z+1/z-2)=N^2-n^2):}$
目标函数可以改成
$uv(x^k+1/{x^k}-2)+vw(y^k+1/{y^k}-2)+uw(z^k+1/{z^k}-2)$
我们可以再次换元,取$X=log(x),Y=log(y),Z=log(z)$,那么题目可以改为已知
${(X+Y+Z=0),(2uv*ch(X)+2vw*ch(Y)+2uw*ch(Z)=N^2-n^2+2uv+2vw+2uw):}$
求函数
$uv*ch(kX)+vw*ch(kY)+wu*ch(kZ)$的最大值
同样采用带约束条件的拉格朗日极值法,得到取极值时有
${sh(kX)-sh(kZ)}/{sh(X)-sh(Z)}={sh(kY)-sh(kZ)}/{sh(Y)-sh(Z)}$
由于$X+Y+Z=0$,所以$-sh(Z)=sh(X)+sh(Y),-sh(kZ)=sh(kX)+sh(kY)$,由此我们得到
${sh(Xk)+sh((Y+X)k)}/{sh(Yk)+sh((Y+X)k)}={sh(X)+sh(Y+X)}/{sh(Y)+sh(Y+X)}$
如果链接:
http://bbs.emath.ac.cn/thread-2459-1-1.html
中函数单调性问题成立,那么我们可以得出取极值是只能X,Y,Z中至少一个数字为0,或者两个数相等或互为相反数,由此得出x,y,z中有数据为1或互为相反数等良好性质,从而可以非常容易解决这个问题
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-20 08:07:49 | 显示全部楼层
链接中函数的单调性已经证明,现在由此我们得到取极值的时候必然X,Y,Z中某一个数为0或两个数相等,
对应于a,b,c三个数中有两个相等或者其中一个平方是另外两个数的乘积。
比如$b^2=ac$,由于a,b,c同时乘上一个常数不改变结果,可以取$b=1,c=1/a$
如果a,b,c中两个数相等的情况我们已经充分讨论,现在余下$b=1,c=1/a$时如何取$u,v,w$
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-21 09:21:34 | 显示全部楼层
还有一点比较有意思的上面大部分分析对于计算最小值同样有效,比如现在我们可以知道取最小值时,也必须只取最多三个不同的$a_i$的值,而且三个值时,可以选择一个为1,另外两个互为倒数。
在已知三个数为$a,1,1/a$的情况下,现在最值问题可以转化为,已知:
${(u+v+w=n),(v(n-v)*(ch(X)-1)+uw(ch(2X)-1)={N^2-n^2}/2):}$
求$v(n-v)*(ch(kX)-1)+uw(ch(2kX)-1)$的最值
先不管v的取值(假设它已知),我们分别对u,w采用拉格朗日极值法得到
${(w(ch(2kX)-1)+lambda_1*w(ch(2X)-1)+lambda_2=0),(u(ch(2kX)-1)+lambda_1*u(ch(2X)-1)+lambda_2=0):}$
由此我们得到,$w=u$或${((ch(2kX)-1)+lambda_1*(ch(2X)-1)=0),(lambda_2=0):}$
对于第二种情况,我们可以解得$lambda_1=-{sh^2(kX)}/{sh^2(X)}$
我们在计算X的偏微分得到
$v(n-v)*(k*sh(kX)+lambda_1*sh(X))+uw*(2k*sh(2kX)+lambda_1*2*sh(2X))=0$
将$lambda_1$消去,得到
$v(n-v)*kX*{sh(kX)}/{sh(X)}*({sh(X)}/X-{sh(kX)}/{kX})+4uw*{sh(kX)}/{sh(X)ch(X)ch(kX)}*(k*th(X)-th(kX))$其中两项异号,这个应该是可以取到的。
所以对于充分大的n是有可能取到一个很难分析的极值点的。
而如果对于给定的n和N,如果要数值计算最大和最小值,现在很简单了,
我们只需要枚举所有的u+v+w=n(对于这种情况,现在可以直接根据约束条件计算出X)并且$a_i$中只有两个不同数的各种情况,找出最大或最小的情况,计算复杂度为$O(n^2)$
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-21 15:08:52 | 显示全部楼层
写了一个Pari/Gp代码计算函数的最大或最小值:
alx返回函数的最大值和取最大值的情况
alm返回函数的最小值和取最小值的情况
函数采用的是上一层双曲函数形式(也就是目标函数值平移了一下)
返回的数组第一项是最值,后面如果跟六个数,那么分别是取三个值的计数(u,v,w)和三个值(X,Y,Z)
如果最值后面跟三个数,那么分别是取两个值的计数和它们的取值(X=Y)
当然输入的三个参数中,参数N要求不小于n
  1. fc(u,v,w,N,k,X)=
  2. {
  3.    v*(u+w)*(cosh(X)-1)+u*w*(cosh(2*X)-1)-(N^2-(u+v+w)^2)/2
  4. }

  5. ft(u,v,w,k,X)=
  6. {
  7.    v*(u+w)*(cosh(k*X)-1)+u*w*(cosh(2*k*X)-1)
  8. }

  9. fr(u,v,w,N,k)=
  10. {
  11.     local(h);
  12.     h=acosh((N^2-(u+v+w)^2)/(2*v*(u+w))+1.0);
  13.     solve(X=0,h,fc(u,v,w,N,k,X))
  14. }

  15. srx(k,n,N)=
  16. {
  17.     local(u,v,w,h,val);
  18.     local(r,su,sv,sx);
  19.     r=0.0;su=0;sv=0;val=0;
  20.     for(u=1,n-2,
  21.        for(v=1,n-1-u,
  22.          w=n-u-v;
  23.          h=fr(u,v,w,N,k);
  24.          val=ft(u,v,w,k,h);
  25.          if(val>r,
  26.            r=val;su=u;sv=v;sx=h
  27.          )
  28.        )
  29.     );
  30.     [r,su,sv,n-su-sv,sx,0,-sx]
  31. }

  32. srm(k,n,N)=
  33. {
  34.     local(u,v,w,h,val);
  35.     local(r,su,sv,sx);
  36.     r=-1;su=0;sv=0;val=0;
  37.     for(u=1,n-2,
  38.        for(v=1,n-1-u,
  39.          w=n-u-v;
  40.          h=fr(u,v,w,N,k);
  41.          val=ft(u,v,w,k,h);
  42.          if(r<0 || val<r,
  43.            r=val;su=u;sv=v;sx=h
  44.          )
  45.        )
  46.     );
  47.     [r,su,sv,n-su-sv,sx,0,-sx]
  48. }

  49. alx(k,n,N)=
  50. {
  51.     local(X,r1,r);
  52.     X=acosh((N^2-n^2)/(2.0*(n-1))+1.0);
  53.     r1=(n-1)*(cosh(k*X)-1);
  54.     r=srx(k,n,N);
  55.     if(r[1]<r1,
  56.       r=[r1,1,n-1,X]
  57.     );
  58.     r
  59. }

  60. alm(k,n,N)=
  61. {
  62.     local(X,r1,r,d);
  63.     d=(n-(n%2))/2;
  64.     X=acosh((N^2-n^2)/(2.0*d*(n-d))+1.0);
  65.     r1=d*(n-d)*(cosh(k*X)-1);
  66.     r=srm(k,n,N);
  67.     if(r[1]>r1,
  68.       r=[r1,d,n-d,X]
  69.     );
  70.     r
  71. }
复制代码
对于函数alx的试验验证了我前面的猜想:
也就是转化会原题目,那么取最大值时,要么所有$a_i$中只取两个值,而且其中一个只取1次,要么只取三个值,其中一个为1,次数n-2,另外两个互为倒数,次数为1. 而对于n>3,通常N很小(非常接近n)时使用前面的(两个数),而N比较大是,使用后面的(三个数)。

评分

参与人数 1金币 +4 贡献 +2 经验 +2 收起 理由
数学星空 + 4 + 2 + 2 呵呵,mathe辛苦了!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-22 06:34:33 | 显示全部楼层
忘了14#~18#的方法已经淘汰了内部点的可能,所以余下还是只需要分析{u,v,w}在边界上的情况。
而比如对于最小值,如果n是偶数,那么已经分析出必然是两个数,而且数目正好相等的情况
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-22 13:30:08 | 显示全部楼层
网友shfdfzhjj提出:
设a_i>0,1
数学星空 发表于 2010-6-13 22:09

2#中内容应该改为
$(a_1^2+a_2^2+...+a_n^2)(1/{a_1^2}+1/{a_2^2}+...+1/{a_n^2})<=(a_1+a_2+...+a_n)(1/{a_1}+1/{a_2}+...+1/{a_n})((a_1+a_2+...+a_n)(1/{a_1}+1/{a_2}+...+1/{a_n})-n^2+1)$
其中对于n=2时不等式显然成立。所以不知道上面can_hang2007说的n=2时不成立的是什么不等式
而现在要证明它比较容易,直接将a,b,c只取3中可能$b=1,c=1/a$代入,直接展开也可以得出结果。

评分

参与人数 1经验 +4 收起 理由
数学星空 + 4 已更正,见29#回复

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-22 18:22:06 | 显示全部楼层
由于我们已经知道这个题目中函数最大值和最小值均只能在边界上取到(如果u,v,w可以取任意实数)。
所以在u,v,w是非负整数时,函数最大值/最小值通常在u,v,w中一个是0(对应于只取两个数的情况),或者u,v,w中一个是1的时候(但是我们不能排除在某些非常特别的情况下取到更加里面的格点了)。
而且特别的,通常都是v=1,u和w非常接近,或v=u=1,w=n-2,或v=n-2,u=w=1等特殊值。
而如果分析u,v,w某个数据固定的情况,比如u看成常数,那么使用约束条件消去各个变量,可以将目标函数看成关于v的单变量函数,而这个函数在N比较小的时候可以取到多个极值点。所以从这个角度来看,我们现在也不能完全排除最值取在中间的极值点。
上面Pari/Gp代码中,如果我们使用srx而不是alx函数,那么将只比较所有u,v,w都大于0的情况的最大值,经数值计算,比如srx(2,90,91)取到u=v=1,w=88,也个说明通常我们需要枚举所有的边界情况而不能只查看
u=w=1,v=n-2这种情况。但是我实际计算的所有数据中,如果srx不取到u=w=1,v=n-2这种情况,最后这个函数得到的结果都没有u,v,w中一个取0,另外两个一个1,一个n-1的结果好。所以最终我看到的都是u=w=1,v=n-2(v是数字1的数目)和(u=0,v=1,w=n-1)这两种情况。大家也可以试验一些数据看能否找到反例。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-6-22 19:48:18 | 显示全部楼层
本帖最后由 数学星空 于 2010-6-23 19:39 编辑
2#中内容应该改为
$(a_1^2+a_2^2+...+a_n^2)(1/{a_1^2}+1/{a_2^2}+...+1/{a_n^2})
mathe 发表于 2010-6-22 13:30



网友shfdfzhjj提出:
设$a_i>0$,$1<=i<=n$
求证:$sqrt((a_1^2+a_2^2+...+a_n^2)*(1/a_1^2+1/a_2^2+...+1/a_n^2))<=sqrt((a_1+a_2+...+a_n)*(1/a_1+1/a_2+...+1/a_n))*$
$(sqrt((a_1+a_2+...+a_n)*(1/a_1+1/a_2+...+1/a_n ))-n+1)$
注:can_hang2007声称已获证明$n>=3$时成立,$n=2$时不成立
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-23 14:37:01 | 显示全部楼层
29#不等式不成立
比如对于n=3,我们可以选择
a=b=0.7832207464149386807291631345,c=1
于是N=sqrt((a+b+c)(1/a+1/b+1/c))=2.672634132705829372336956423
于是不等式左边为
$sqrt((a^2+b^2+c^2)(1/{a^2}+1/{b^2}+1/{c^2}))=2.412421613793675344407208189$
不等式右边为$N*(N-2)=1.797704941892582023576054940$
实际上,对于任意n,如果N充分接近n时,不等式都不成立。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-27 22:37 , Processed in 0.059229 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表