找回密码
 欢迎注册
楼主: nyy

[提问] P是△ABC内的动点,求7*AP+5*BP+8*CP的最小值

[复制链接]
 楼主| 发表于 2024-4-16 14:28:45 | 显示全部楼层
本帖最后由 nyy 于 2024-4-16 14:35 编辑

现在来总结一下:
假设加权费马问题如下:
对于a*PA+b*PB+c*PC的形式(不要把我这个目标函数搞成LaTeX,LaTeX不方便复制传播,用这个纯文字方便复制,且不影响阅读)

假设A是旋转中心(BC同理,不详细叙述)。
把目标函数a*PA+b*PB+c*PC=b*(a/b*PA+PB+c/b*PC)=c*(a/c*PA+b/c*PB+PC),
如果是b*(a/b*PA+PB+c/b*PC)这种形式,那么就绕着A点旋转,放大比例为c/b,旋转的三角形是APC(BP系数等于1,BP所正对的三角形)
如果是c*(a/c*PA+b/c*PB+PC)这种形式, 那么就绕着A点旋转,放大比例为b/c,旋转的三角形是APB

旋转的角度=arccos((b^2+c^2-a^2)/(2*b*c))



补充内容 (2024-4-17 10:20):
a*PA+b*PB+c*PC=a*(PA+b/a*PB+c/a*PC),其中系数=1的PA项,表示旋转△PBC,对于BC两点,如果一点是旋转中心,那么另外一项前面的系数就是缩放比例

补充内容 (2024-4-17 10:21):
假设A是旋转中心,那么旋转的角度=arccos((b^2+c^2-a^2)/(2*b*c)),其余同理
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2024-4-18 13:36:42 | 显示全部楼层
本帖最后由 nyy 于 2024-4-18 13:42 编辑
hujunhua 发表于 2024-4-15 15:56
需要一个高端一点的解法才能解释,清不清楚就看你自己了。
记P点的坐标为 `P(x, y)`
记`AP=a=a(x, y), BP=b ...


如果是求2*AP+5*BP+8*CP,怎么办?我拉格朗日乘子法,结果出来四组复数解,这明显是错误的结果!

  1. Clear["Global`*"];
  2. (*计算余弦值子函数,利用三边计算余弦值*)
  3. cs[a_,b_,c_]:=((a^2+b^2-c^2)/(2*a*b))
  4. aaa=Solve[cs[3,25/8,BC]==1/2&&BC>0,{BC}] (*用余弦定理求解BC的长度*)
  5. (*子函数,四面体体积公式,a,b,c分别是从一个顶点出发的三条棱,x,y,z分别是对棱*)
  6. fun[a_,b_,c_,x_,y_,z_]:=Sqrt[Det[{{0,1,1,1,1},{1,0,a^2,b^2,c^2},{1,a^2,0,z^2,y^2},{1,b^2,z^2,0,x^2},{1,c^2,y^2,x^2,0}}]/288]
  7. {AB,BC,AC}={3,(BC/.aaa[[1]]),25/8};(*线段长度赋值*)
  8. f=2*AP+5*BP+8*CP+t*(fun[AP,BP,CP,BC,AC,AB]^2-0)//Simplify (*定义目录函数,约束条件:四面体的体积等于零*)
  9. fx=D[f,{{AP,BP,CP,t}}]//Simplify (*对四个变量求解偏导数*)
  10. ans=Solve[{fx==0},{AP,BP,CP,t}]//FullSimplify//ToRadicals (*偏导数等于零,求解方程组*)
  11. Grid[ans,Alignment->Left](*列表显示*)
  12. out=f/.ans//FullSimplify//ToRadicals (*得到目标函数的极值*)
复制代码


输出结果
\[\begin{array}{llll}
\text{AP}\to \frac{1}{2} (-15) \sqrt{-\frac{24293}{290939}-\frac{61 i \sqrt{11}}{26449}} & \text{BP}\to \frac{3}{4} \sqrt{\frac{-4143221+259985 i \sqrt{11}}{290939}} & \text{CP}\to \frac{5}{4} \sqrt{\frac{-420853-865041 i \sqrt{11}}{290939}} & t\to -\frac{90112 \sqrt{2133636107109973-2423317420571631 i \sqrt{11}}}{16311524765625} \\
\text{AP}\to \frac{15}{2} \sqrt{-\frac{24293}{290939}-\frac{61 i \sqrt{11}}{26449}} & \text{BP}\to \frac{1}{4} (-3) \sqrt{\frac{-4143221+259985 i \sqrt{11}}{290939}} & \text{CP}\to \frac{1}{4} (-5) \sqrt{\frac{-420853-865041 i \sqrt{11}}{290939}} & t\to \frac{90112 \sqrt{2133636107109973-2423317420571631 i \sqrt{11}}}{16311524765625} \\
\text{AP}\to \frac{1}{2} (-15) \sqrt{\frac{-24293+671 i \sqrt{11}}{290939}} & \text{BP}\to \frac{3}{4} \sqrt{\frac{-4143221-259985 i \sqrt{11}}{290939}} & \text{CP}\to \frac{5}{4} \sqrt{\frac{-420853+865041 i \sqrt{11}}{290939}} & t\to -\frac{90112 \sqrt{2133636107109973+2423317420571631 i \sqrt{11}}}{16311524765625} \\
\text{AP}\to \frac{15}{2} \sqrt{\frac{-24293+671 i \sqrt{11}}{290939}} & \text{BP}\to \frac{1}{4} (-3) \sqrt{\frac{-4143221-259985 i \sqrt{11}}{290939}} & \text{CP}\to \frac{1}{4} (-5) \sqrt{\frac{-420853+865041 i \sqrt{11}}{290939}} & t\to \frac{90112 \sqrt{2133636107109973+2423317420571631 i \sqrt{11}}}{16311524765625} \\
\end{array}\]

数值化
\[\begin{array}{llll}
\text{AP}\to -0.0991641+2.16948 i & \text{BP}\to 0.292949\, +2.8454 i & \text{CP}\to 2.58001\, -2.98607 i & t\to -0.399315+0.30714 i \\
\text{AP}\to 0.0991641\, -2.16948 i & \text{BP}\to -0.292949-2.8454 i & \text{CP}\to -2.58001+2.98607 i & t\to 0.399315\, -0.30714 i \\
\text{AP}\to -0.0991641-2.16948 i & \text{BP}\to 0.292949\, -2.8454 i & \text{CP}\to 2.58001\, +2.98607 i & t\to -0.399315-0.30714 i \\
\text{AP}\to 0.0991641\, +2.16948 i & \text{BP}\to -0.292949+2.8454 i & \text{CP}\to -2.58001-2.98607 i & t\to 0.399315\, +0.30714 i \\
\end{array}\]

四个目标函数值分别是
\[\left\{\frac{5}{4} \sqrt{289-45 i \sqrt{11}},\frac{1}{4} (-5) \sqrt{289-45 i \sqrt{11}},\frac{5}{4} \sqrt{289+45 i \sqrt{11}},\frac{1}{4} (-5) \sqrt{289+45 i \sqrt{11}}\right\}\]
数值化
\[\{21.9065\, -5.32264 i,-21.9065+5.32264 i,21.9065\, +5.32264 i,-21.9065-5.32264 i\}\]

很明显是存在最小值的。现在这个结果明显有问题

点评

看8楼的解释。极值并不存在,最值将在边界上取得。  发表于 2024-4-19 02:19
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2024-4-19 09:01:08 | 显示全部楼层
nyy 发表于 2024-4-18 13:36
如果是求2*AP+5*BP+8*CP,怎么办?我拉格朗日乘子法,结果出来四组复数解,这明显是错误的结果!

可以用BP CP来表达AP,然后画出2*AP+5*BP+8*CP的图(自变量是BP CP),画出一个三维图,应该是光滑的,我要好好研究一下为什么失败
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2024-4-19 09:30:28 | 显示全部楼层
nyy 发表于 2024-4-19 09:01
可以用BP CP来表达AP,然后画出2*AP+5*BP+8*CP的图(自变量是BP CP),画出一个三维图,应该是光滑的,我 ...
  1. Clear["Global`*"];
  2. (*计算余弦值子函数,利用三边计算余弦值*)
  3. cs[a_,b_,c_]:=((a^2+b^2-c^2)/(2*a*b))
  4. aaa=Solve[cs[3,25/8,BC]==1/2&&BC>0,{BC}] (*用余弦定理求解BC的长度*)
  5. (*子函数,四面体体积公式,a,b,c分别是从一个顶点出发的三条棱,x,y,z分别是对棱*)
  6. fun[a_,b_,c_,x_,y_,z_]:=Sqrt[Det[{{0,1,1,1,1},{1,0,a^2,b^2,c^2},{1,a^2,0,z^2,y^2},{1,b^2,z^2,0,x^2},{1,c^2,y^2,x^2,0}}]/288]
  7. {AB,BC,AC}={3,(BC/.aaa[[1]]),25/8};(*线段长度赋值*)
  8. ans=Solve[fun[AP,BP,CP,BC,AC,AB]==0,{AP}]//Simplify(*用BP,CP来表达AP*)
  9. f1=2*AP+5*BP+8*CP/.ans[[2]]//Simplify (*第1部分*)
  10. f2=2*AP+5*BP+8*CP/.ans[[4]]//Simplify (*第2部分*)
  11. h1=Plot3D[f1,{BP,0,10},{CP,0,10},Mesh->100](*第1部分三维图*)
  12. h2=Plot3D[f2,{BP,0,10},{CP,0,10},Mesh->100](*第2部分三维图*)
  13. Show[h1,h2](*显示两部分图片*)
复制代码


@hujunhua 看看,为什么图上有最小值,然后拉格朗日乘子法找不到最小值?难道导数不存在?

点评

你可以先求一下2▪AP+5▪BP+7▪CP的极值/最值  发表于 2024-4-19 22:08
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2024-4-22 08:39:44 | 显示全部楼层
nyy 发表于 2024-4-19 09:30
@hujunhua 看看,为什么图上有最小值,然后拉格朗日乘子法找不到最小值?难道导数不存在? ...

  1. Clear["Global`*"];
  2. (*计算余弦值子函数,利用三边计算余弦值*)
  3. cs[a_,b_,c_]:=((a^2+b^2-c^2)/(2*a*b))
  4. aaa=Solve[cs[3,25/8,BC]==1/2&&BC>0,{BC}] (*用余弦定理求解BC的长度*)
  5. (*子函数,四面体体积公式,a,b,c分别是从一个顶点出发的三条棱,x,y,z分别是对棱*)
  6. fun[a_,b_,c_,x_,y_,z_]:=Sqrt[Det[{{0,1,1,1,1},{1,0,a^2,b^2,c^2},{1,a^2,0,z^2,y^2},{1,b^2,z^2,0,x^2},{1,c^2,y^2,x^2,0}}]/288]
  7. {AB,BC,AC}={3,(BC/.aaa[[1]]),25/8};(*线段长度赋值*)
  8. cond=fun[AP,BP,CP,BC,AC,AB]^2 (*体积等于零的约束条件*)
  9. obj=2*AP+5*BP+8*CP (*目标函数*)
  10. (*求解出最小值*)
  11. ans=Minimize[{obj,cond==0&&AP>=0&&BP>=0&&CP>=0},{AP,BP,CP}]//FullSimplify
复制代码


我自己找到最小值了。

约束条件,并且非负变量
\[\frac{-4923392 \text{AP}^4+5324800 \text{AP}^2 \text{BP}^2+4521984 \text{AP}^2 \text{CP}^2+46156800 \text{AP}^2-5120000 \text{BP}^4+4915200 \text{BP}^2 \text{CP}^2+44160000 \text{BP}^2-4718592 \text{CP}^4+47923200 \text{CP}^2-432720000}{75497472}=0\]


求解结果

\[\left\{\frac{5}{8} \left(\sqrt{601}+10\right),\left\{\text{AP}\to \frac{25}{8},\text{BP}\to \frac{\sqrt{601}}{8},\text{CP}\to 0\right\}\right\}\]

这个是在定点求得最小值。

函数的最值有可能在边界上取得,然后这儿的导数未必等于零,是这个意思吧?
@hujunhua

点评

nyy
这个似乎应该用kkt条件来求解  发表于 2024-4-22 08:48
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2024-4-22 09:54:26 | 显示全部楼层
nyy 发表于 2024-4-22 08:39
我自己找到最小值了。

约束条件,并且非负变量

极值出现在不可导点、kkt条件点
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2024-4-23 10:26:59 | 显示全部楼层
本帖最后由 王守恩 于 2024-4-23 10:43 编辑

谢谢 hujunhua!5#,8#说得很清楚了,再不清楚就看你自己了。
  1. Table[NMinimize[{7 AP + 8 BP + 9 CP, 7^2 == 8^2 + 9^2 - 2*8*9*Cos[x], Sin[A Pi/180]^2 == BP^2 + CP^2 + 2*BP*CP*Cos[x], Sin[B Pi/180]^2 == CP^2 + AP^2 + 2*CP*AP*Cos[y],
  2.    Sin[(A + B) Pi/180]^2 == AP^2 + BP^2 - 2*AP*BP*Cos[x + y], Pi/3 > x > 0, Pi/2 > y > 0, AP > 0, BP > 0, CP > 0}, {x, y, AP, BP, CP}], {A, 54, 54}, {B, A + 1, (180 - A)/2}]
复制代码

BC=54°, CA=55°, AB=71°。{11.6240, {x -> 0.841069, y -> 1.01948, AP -> 0.611658, BP -> 0.567144, CP -> 0.311696}},
BC=54°, CA=56°, AB=70°。{11.6564, {x -> 0.841069, y -> 1.01948, AP -> 0.613516, BP -> 0.557750, CP -> 0.322201}},
BC=54°, CA=57°, AB=69°。{11.6859, {x -> 0.841069, y -> 1.01948, AP -> 0.615052, BP -> 0.548262, CP -> 0.332713}},
BC=54°, CA=58°, AB=68°。{11.7124, {x -> 0.841069, y -> 1.01948, AP -> 0.616269, BP -> 0.538685, CP -> 0.343227}},
BC=54°, CA=59°, AB=67°。{11.7360, {x -> 0.841069, y -> 1.01948, AP -> 0.617167, BP -> 0.529023, CP -> 0.353737}},
BC=54°, CA=60°, AB=66°。{11.7566, {x -> 0.841069, y -> 1.01948, AP -> 0.617746, BP -> 0.519279, CP -> 0.364238}},
BC=54°, CA=61°, AB=65°。{11.7742, {x -> 0.841069, y -> 1.01948, AP -> 0.618006, BP -> 0.509459, CP -> 0.374724}},
BC=54°, CA=62°, AB=64°。{11.7889, {x -> 0.841069, y -> 1.01948, AP -> 0.617949, BP -> 0.499566, CP -> 0.385191}},
BC=54°, CA=63°, AB=63°。{11.8006, {x -> 0.841069, y -> 1.01948, AP -> 0.617575, BP -> 0.489604, CP -> 0.395633}}}}
  1. Table[NSolve[{s==7AP+8BP+9CP, 7^2==8^2+9^2-2*8*9*Cos[x], 8^2==9^2+7^2-2*9*7*Cos[y], Sin[A Pi/180]^2==BP^2+CP^2+2*BP*CP*Cos[x], Sin[B Pi/180]^2==CP^2+AP^2+2*CP*AP*Cos[y],
  2. Sin[(A + B) Pi/180]^2 == AP^2 + BP^2 - 2*AP*BP*Cos[x + y], Pi/2 > x > 0, Pi/2 > y > 0, AP > 0, BP > 0, CP > 0}, {x, y, AP, BP, CP, s}], {A, 54, 54}, {B, A + 1, (180 - A)/2}]
复制代码

BC=54°, CA=55°, AB=71°。{{x -> 0.841069, y -> 1.01948, AP -> 0.611658, BP -> 0.567144, CP -> 0.311696, s -> 11.6240}},
BC=54°, CA=56°, AB=70°。{{x -> 0.841069, y -> 1.01948, AP -> 0.613516, BP -> 0.557750, CP -> 0.322201, s -> 11.6564}},
BC=54°, CA=57°, AB=69°。{{x -> 0.841069, y -> 1.01948, AP -> 0.615052, BP -> 0.548262, CP -> 0.332713, s -> 11.6859}},
BC=54°, CA=58°, AB=68°。{{x -> 0.841069, y -> 1.01948, AP -> 0.616269, BP -> 0.538685, CP -> 0.343227, s -> 11.7124}},
BC=54°, CA=59°, AB=67°。{{x -> 0.841069, y -> 1.01948, AP -> 0.617167, BP -> 0.529023, CP -> 0.353737, s -> 11.7360}},
BC=54°, CA=60°, AB=66°。{{x -> 0.841069, y -> 1.01948, AP -> 0.617746, BP -> 0.519279, CP -> 0.364238, s -> 11.7566}},
BC=54°, CA=61°, AB=65°。{{x -> 0.841069, y -> 1.01948, AP -> 0.618006, BP -> 0.509459, CP -> 0.374724, s -> 11.7742}},
BC=54°, CA=62°, AB=64°。{{x -> 0.841069, y -> 1.01948, AP -> 0.617949, BP -> 0.499566, CP -> 0.385191, s -> 11.7889}},
BC=54°, CA=63°, AB=63°。{{x -> 0.841069, y -> 1.01948, AP -> 0.617575, BP -> 0.489604, CP -> 0.395633, s -> 11.8006}}}}

现在来总结一下:
假设加权费马问题如下:
对于a*PA+b*PB+c*PC的形式(BC=sin(A),CA=sin(B),AB=sin(A+B))
关键是 \(\frac{a}{\sin(A)}=\frac{b}{\sin(B)}=\frac{c}{\sin(A+B)}\) 要在一个合理的范围。

点评

nyy
强烈反对没注释、没缩进、多层嵌套、一行的任何语言的代码!  发表于 2024-4-23 10:44
nyy
老同志,要用四面体当约束条件,因为四面体体积等于零是多项式约束条件,要尽可能地避免引入三角函数!  发表于 2024-4-23 10:40
nyy
吐死了,老同志,10楼的代码没你写的好吗?你的多行代码在一行,恶心死了  发表于 2024-4-23 10:33
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2024-4-23 10:39:13 | 显示全部楼层
hujunhua 发表于 2024-4-15 21:10
如果这3个数不能构成三角形,那么最值就不是极值,不在`\nabla f=0`时取得。
最值将在边界上取得。 ...

我觉得应该是在顶点取得,而不是边界上。当然,也有一些特殊的情况下,在边界能有最值
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2024-4-27 18:36:40 | 显示全部楼层
本帖最后由 hejoseph 于 2024-4-27 18:46 编辑

1.png
完整的结论如下:
如果求 $k_1PA+k_2PB+k_3PC$ 的最小值,其中 $k_1$、$k_2$、$k_3$ 都是已知正数。这里设 $BC=a$,$CA=b$,$AB=c$,$\triangle ABC$ 的面积为 $S$。
当 $k_1$、$k_2$、$k_3$ 不能构成三角形,那么所求的点 $P$ 就是 $k_1PA+k_2PB+k_3PC$ 中 $k_1$、$k_2$、$k_3$ 最大的那个三角形顶点。
当  $k_1$、$k_2$、$k_3$ 能构成三角形,设 $k_1$、$k_2$、$k_3$ 所对的内角分别为 $\alpha$、$\beta$、$\gamma$,面积为 $S'$。当 $\angle A+\alpha<180^\circ$,$\angle B+\beta<180^\circ$,$\angle C+\gamma<180^\circ$ 时所求的点 $P$ 在 $\triangle ABC$ 内部,且
\begin{align*}
&k_1PA+k_2PB+k_3PC=\sqrt{bck_1^2\cos A+ack_2^2\cos B+abk_3^2\cos C+8SS'}\\
&PA=\frac{bck_1k_2k_3\sin(A+\alpha)}{2S'\sqrt{bck_1^2\cos A+ack_2^2\cos B+abk_3^2\cos C+8SS'}}\\
&PB=\frac{ack_1k_2k_3\sin(B+\beta)}{2S'\sqrt{bck_1^2\cos A+ack_2^2\cos B+abk_3^2\cos C+8SS'}}\\
&PC=\frac{abk_1k_2k_3\sin(C+\gamma)}{2S'\sqrt{bck_1^2\cos A+ack_2^2\cos B+abk_3^2\cos C+8SS'}}
\end{align*}
在$\triangle ABC$ 外作 $\triangle CBA_1$、$\triangle ACB_1$、$\triangle BAC_1$,使 $\angle BA_1C=\angle B_1AC=\angle BAC_1=\alpha$,$\angle CBA_1=\angle CB_1A=\angle C_1BA=\beta$,$\angle A_1CB=\angle ACB_1=\angle AC_1B=\gamma$,则 \(AA_1\)、\(BB_1\)、\(CC_1\) 共点,这个公共点就是所求的点 $P$。当 $\angle A+\alpha<180^\circ$,$\angle B+\beta<180^\circ$,$\angle C+\gamma<180^\circ$ 其中一个不满足时,则不满足条件的那个不等式的三角形顶点就是所求的点 $P$。

评分

参与人数 1威望 +6 金币 +8 贡献 +6 经验 +6 鲜花 +6 收起 理由
hujunhua + 6 + 8 + 6 + 6 + 6 三线共点正解

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2024-4-28 09:42:05 | 显示全部楼层
hejoseph 发表于 2024-4-27 18:36
完整的结论如下:
如果求 $k_1PA+k_2PB+k_3PC$ 的最小值,其中 $k_1$、$k_2$、$k_3$ 都是已知正数。这里设 ...

PABC1,四点共圆,对吧?

点评

对的  发表于 2024-4-28 16:46
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2025-3-7 10:22 , Processed in 0.035520 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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