| 查看: 904 | 回复: 7 | ||
[求助]
用ansys优化解一个小学数学题 已有2人参与
|
|
近来看到一个小学数学题,题目如下: 元旦促销活动,每次购物200元至500元都(不含500元)打九五折。每次购物500元以上打九折。李阿婆为办年货去该中心购物三次,如果第一次和第二次合并一起买,比分开买便宜13.5元,如是三次合并一起买 比分开买便宜39.4元。已知第一次货物价格是第三次的20/31,李阿婆第二次购物用了多少钱? 不小心算错了,正好在学习ansys,那么能否用ansys的优化来解题呢?我是这样做的: !假设第一二三次单独付款分别为x,y,z, !前三次单独实际付款分别为rx,ry,rz !前两次合并付款为secondPurch !前三次合并付款为thirdPurch x=100 y=100 z=100 *if,x,gt,200,then rx=x*0.95 *else rx=x *endif *if,y,gt,200,then ry=y*0.95 *else ry=y *endif *if,z,gt,200,then rz=z*0.95 *else rz=z *endif *if,x+y,gt,500,then secondPurch=(x+y)*0.9 *elseif,x+y,gt,200,then secondPurch=(x+y)*0.95 *else secondPurch=x+y *endif *if,x+y+z,gt,500,then thirdPurch=(x+y+z)*0.9 *elseif,x+y+z,gt,200,then thirdPurch=(x+y+z)*0.95 *else thirdPurch=x+y+z *endif condition1=abs(x-20/30*z) condition2=abs(rx+ry-secondPurch-13.5) condition3=abs(rx+ry+rz-thirdPurch-39.4) object=x+y+z /opt opclr opanl,purchase,inp opvar,x,dv,100,200,1 opvar,y,dv,100,160,1 opvar,z,dv,100,300,1 opvar,condition1,sv,0,0.01,0.001 opvar,condition2,sv,0,0.01,0.001 opvar,condition3,sv,0,0.01,0.001 opvar,object,obj,,,1 optype,subp opsubp,1000 得到: X 156.404757 Y 131.812270 Z 233.964945 与答案还是有蛮大差距的,那么怎么样才能获得更准确的结果呢? |
» 本帖已获得的红花(最新10朵)
» 猜你喜欢
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有119人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
笼目材料中量子自旋液体基态的证据
已经有0人回复
数学教学论硕士可以读数学物理博士吗?
已经有0人回复
德国亥姆霍兹Hereon中心汉堡分部招镁合金腐蚀裂变SCC课题方向2026公派博士生
已经有4人回复
澳门大学 应用物理及材料工程研究院 潘晖教授课题组诚招博士后
已经有11人回复
求助NH4V4O10晶体的CIF文件
已经有0人回复
英国全奖博士招聘-深度学习与量子物理
已经有0人回复
间接带隙半导体有效质量求助
已经有0人回复
» 本主题相关价值贴推荐,对您同样有帮助:
ANSYS的制动盘通风口设计优化(节选于一硕士论文,共8页)
已经有8人回复
椭圆外一定点到已知椭圆的最短距离
已经有16人回复
ANSYS Fluent14.0仿真分析与优化设计的例子谁做过啊,初学ANSYS,有几处疑问!
已经有4人回复
求高数大神 u帮忙做下 题
已经有12人回复
ansys参数优化由于某个面没有定义中断
已经有3人回复
ANSYS单位问题以及参数化优化问题
已经有9人回复
ANSYSWORKBENCH设计、仿真与优化 清华大学出版社
已经有308人回复
压力容器ansys优化设计 [梁基照 编著]
已经有73人回复
2楼2015-01-30 12:14:34
3楼2015-01-30 12:14:53
4楼2015-01-31 08:45:56
peterflyer
木虫之王 (文学泰斗)
peterflyer
- 计算强帖: 2
- 应助: 20282 (院士)
- 金币: 145951
- 红花: 1374
- 帖子: 93091
- 在线: 7694.3小时
- 虫号: 1482829
- 注册: 2011-11-08
- 性别: GG
- 专业: 功能陶瓷
【答案】应助回帖
感谢参与,应助指数 +1
|
我觉得应该这么做: 假设第一二三次单独付款在没有折扣的情况下的金额分别为x,y,z,有了折扣后再分别付款时的金额就会为α*x、β*y、γ*z,其中α、β、γ为折扣系数,即: x∈[0,200)时α=1.00 ;x∈[200,500)时α=0.95;x∈[500,∞)时α=0.90 y∈[0,200)时β=1.00 ;y∈[200,500)时β=0.95;y∈[500,∞)时β=0.90 z∈[0,200)时γ=1.00 ;z∈[200,500)时γ=0.95;z∈[500,∞)时γ=0.90 同理: x+y∈[0,200)时δ=1.00 ;x+y∈[200,500)时δ=0.95;x+y∈[500,∞)时δ=0.90 x+y+z∈[0,200)时ε=1.00 ;x+y+z∈[200,500)时ε=0.95;x+y+z∈[500,∞)时ε=0.90 由此根据题中所给出的已知条件可列出如下方程: α*x+β*y=δ*(α*x+β*y)+13.5 (1) α*x+β*y+γ*z=ε*(α*x+β*y+γ*z)+39.4 (2) α*x=20/31*γ*z (3) 利用计算机的循环功能,将所有情况考虑一遍,即α、β、γ、δ、ε五个数分别取1.00、0.95、0.90,在每种情况下分别求解一次方程组(1)+(2)+(3)。如果解出的解与前面的系数取值相符的话就是解,否则不是解。总共要解3^5=243次上面的三元一次线性方程组。有可能存在的解不止一个,也可能无解,要编程序计算后才知道。 |
5楼2015-01-31 10:22:29
|
Private Sub CommandButton1_Click() Dim i As Integer Dim j As Integer Dim k As Integer Dim ri As Double Dim rj As Double Dim rk As Double Dim secondPur As Double Dim thirdPur As Double Dim flag As Boolean flag = False TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" For i = 1 To 500 Step 1 TextBox4.Text = i For j = 1 To 500 Step 1 TextBox5.Text = j For k = 1 To 500 Step 1 TextBox6.Text = k If k > 500 Then rk = 0.9 * k Else If k > 200 Then rk = 0.95 * k Else rk = k End If End If If i > 500 Then ri = 0.9 * i Else If i > 200 Then ri = 0.95 * i Else ri = i End If End If If j > 500 Then rj = 0.9 * j Else If j > 200 Then rj = 0.95 * j Else rj = j End If End If If i + j > 500 Then secondPur = (ri + rj) * 0.9 Else If i + j > 200 Then secondPur = (i + j) * 0.95 Else secondPur = i + j End If End If If i + j + k > 500 Then thirdPur = (i + j + k) * 0.9 Else If i + j + k > 200 Then thirdPur = (i + rj + k) * 0.95 Else thirdPur = i + j + k End If End If If Abs(k * 20 / 31 - i) < 0.0001 And Abs(ri + rj - secondPur - 13.5) < 0.0001 And Abs(ri + rj + rk - thirdPur - 39.4) < 0.0001 Then flag = True TextBox1.Text = ri TextBox2.Text = rj TextBox3.Text = rk Exit Sub End If Next k Next j Next i End Sub 我有用vba试过,这个是用excel的vba算的,不过因为正好答案是整数,所以有结果。我用ansys试了好多次,不同的初始值都会造成不同的结果。所以我用ansys的这个算法可能有问题。直接列方程是能求到答案的。因为三次一起付才节省39.4元,所以每次付款不会超多500,不需要243次 |
6楼2015-01-31 12:20:18

7楼2015-01-31 12:53:09
8楼2015-01-31 19:16:04













回复此楼
smartfx
感激不尽