| 8 | 1/1 | 返回列表 |
| 查看: 972 | 回復: 7 | ||
[求助]
用ansys優(yōu)化解一個小學數(shù)學題 已有2人參與
|
|
近來看到一個小學數(shù)學題,題目如下: 元旦促銷活動,每次購物200元至500元都(不含500元)打九五折。每次購物500元以上打九折。李阿婆為辦年貨去該中心購物三次,如果第一次和第二次合并一起買,比分開買便宜13.5元,如是三次合并一起買 比分開買便宜39.4元。已知第一次貨物價格是第三次的20/31,李阿婆第二次購物用了多少錢? 不小心算錯了,正好在學習ansys,那么能否用ansys的優(yōu)化來解題呢?我是這樣做的: !假設第一二三次單獨付款分別為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 與答案還是有蠻大差距的,那么怎么樣才能獲得更準確的結果呢? |
木蟲之王 (文學泰斗)
peterflyer
|
我覺得應該這么做: 假設第一二三次單獨付款在沒有折扣的情況下的金額分別為x,y,z,有了折扣后再分別付款時的金額就會為α*x、β*y、γ*z,其中α、β、γ為折扣系數(shù),即: 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 由此根據(jù)題中所給出的已知條件可列出如下方程: α*x+β*y=δ*(α*x+β*y)+13.5 (1) α*x+β*y+γ*z=ε*(α*x+β*y+γ*z)+39.4 (2) α*x=20/31*γ*z (3) 利用計算機的循環(huán)功能,將所有情況考慮一遍,即α、β、γ、δ、ε五個數(shù)分別取1.00、0.95、0.90,在每種情況下分別求解一次方程組(1)+(2)+(3)。如果解出的解與前面的系數(shù)取值相符的話就是解,否則不是解?偣惨3^5=243次上面的三元一次線性方程組。有可能存在的解不止一個,也可能無解,要編程序計算后才知道。 |
|
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算的,不過因為正好答案是整數(shù),所以有結果。我用ansys試了好多次,不同的初始值都會造成不同的結果。所以我用ansys的這個算法可能有問題。直接列方程是能求到答案的。因為三次一起付才節(jié)省39.4元,所以每次付款不會超多500,不需要243次 |

| 8 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 11408軟件工程求調(diào)劑 +3 | Qiu學ing 2026-03-28 | 3/150 |
|
|---|---|---|---|---|
|
[考研] 322求調(diào)劑 +7 | 宋明欣 2026-03-27 | 7/350 |
|
|
[考研] 295材料工程專碩求調(diào)劑 +7 | 1428151015 2026-03-27 | 7/350 |
|
|
[考研] 一志愿中南大學化學0703總分337求調(diào)劑 +5 | niko- 2026-03-27 | 5/250 |
|
|
[考研] 304求調(diào)劑 +6 | 曼殊2266 2026-03-27 | 6/300 |
|
|
[考研] 322求調(diào)劑 +5 | 舊吢 2026-03-24 | 5/250 |
|
|
[考研] 292求調(diào)劑 +14 | 鵝鵝鵝額額額額?/a> 2026-03-25 | 15/750 |
|
|
[考研] 0703化學求調(diào)劑,各位老師看看我。! +5 | 祁祺祺 2026-03-25 | 5/250 |
|
|
[考研] 一志愿上海理工能源動力(085800)310分求調(diào)劑 +3 | zhangmingc 2026-03-27 | 4/200 |
|
|
[考研] 272求調(diào)劑 +7 | 腳滑的守法公民 2026-03-27 | 7/350 |
|
|
[考研] 材料292調(diào)劑 +12 | 橘頌思美人 2026-03-23 | 12/600 |
|
|
[考研] 0856調(diào)劑 +5 | 求求讓我有書讀?/a> 2026-03-26 | 6/300 |
|
|
[考研] 復試調(diào)劑,一志愿南農(nóng)083200食品科學與工程 +5 | XQTJZ 2026-03-26 | 5/250 |
|
|
[考研] 081200-11408-276學碩求調(diào)劑 +4 | 崔wj 2026-03-26 | 4/200 |
|
|
[考研] 081200-11408-276學碩求調(diào)劑 +3 | 崔wj 2026-03-26 | 3/150 |
|
|
[考研] 332求調(diào)劑 +6 | 032500 2026-03-25 | 6/300 |
|
|
[考研] 296求調(diào)劑 +4 | 汪?! 2026-03-25 | 7/350 |
|
|
[考研] 293求調(diào)劑 +7 | 加一一九 2026-03-24 | 7/350 |
|
|
[考研] 384求調(diào)劑 +3 | 子系博 2026-03-22 | 6/300 |
|
|
[考研] 求老師收我 +3 | zzh16938784 2026-03-23 | 3/150 |
|