999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

求解“百錢百雞”問(wèn)題的最優(yōu)化算法

2018-01-02 01:11:06
山東工業(yè)技術(shù) 2018年1期
關(guān)鍵詞:優(yōu)化

蘇 琳

(山東科技大學(xué) 土木工程與建筑學(xué)院, 山東 青島 266000 )

求解“百錢百雞”問(wèn)題的最優(yōu)化算法

蘇 琳

(山東科技大學(xué) 土木工程與建筑學(xué)院, 山東 青島 266000 )

“百錢百雞”問(wèn)題是一個(gè)經(jīng)典的窮舉問(wèn)題,雖然該問(wèn)題比較簡(jiǎn)單,但是目前的算法并沒(méi)有實(shí)現(xiàn)求解過(guò)程的最優(yōu)化。本文充分利用數(shù)學(xué)模型中的隱含條件,減少未知量的個(gè)數(shù),有效控制循環(huán)變量的范圍與步長(zhǎng)來(lái)優(yōu)化循環(huán)次數(shù),最終循環(huán)執(zhí)行4次即可求解,使得算法的時(shí)間復(fù)雜度從降為,達(dá)到算法的最優(yōu)化,為窮舉類問(wèn)題的求解提供一種新的思路。

窮舉算法;百錢百雞;優(yōu)化;Matlab

1 概述

窮舉法也稱為枚舉法,這種算法是把問(wèn)題涉及的可能情況一一羅列出來(lái),并且根據(jù)題目的條件和實(shí)際背景逐個(gè)給予判斷,從中挑選出符合條件的解答。它適用的條件是:暫時(shí)找不出解決問(wèn)題的更好途徑的情況下;有明顯的窮舉范圍且求解對(duì)象應(yīng)該是有限的;可以按某種窮舉規(guī)則列舉對(duì)象[1]。在很多數(shù)學(xué)問(wèn)題求解中,窮舉法作為一種試探求解的方法有著廣泛的應(yīng)用[2]。

“百錢百雞”問(wèn)題是一個(gè)很經(jīng)典的窮舉問(wèn)題。公元前5世紀(jì),我國(guó)古代數(shù)學(xué)家張丘建在《算經(jīng)》中提出:雞翁一值錢五,雞母一值錢三,雞雛三值錢一。百錢買百雞,問(wèn)雞翁、母、雛各幾何[3]?

在現(xiàn)行的計(jì)算機(jī)高級(jí)語(yǔ)言編程中,經(jīng)常引用這個(gè)數(shù)學(xué)問(wèn)題進(jìn)行循環(huán)結(jié)構(gòu)的講解。在算法的設(shè)計(jì)中,時(shí)間復(fù)雜度有的是,也有的是,循環(huán)執(zhí)行的次數(shù)有多達(dá)上萬(wàn)次,小則數(shù)百次[4]。本文在進(jìn)一步分析隱含條件的基礎(chǔ)上,提出一種新的窮舉算法,在求解正確的前提下,使算法復(fù)雜度僅為,循環(huán)執(zhí)行4次即可求解,最大程度地優(yōu)化了問(wèn)題的求解過(guò)程,并通過(guò)Matlab給出了算法實(shí)現(xiàn)[5]。

2 現(xiàn)行的求解算法

現(xiàn)行的求解算法主要有兩種,一種是利用三重循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn)的,另一種是利用二重循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn)的,無(wú)論采用那一種算法都是基于下面的數(shù)學(xué)分析。

設(shè)雞翁、雞母、雞雛的個(gè)數(shù)分別為x、y、z,由題意可得到下面的方程組:

題意要求用100錢買100只雞,若全買公雞最多買20只,顯然x的值在0-20之間;同理,y的值在0-33之間,z的值在0-100之間。因此,x、y、z可能的組合方式有21*34*101=72114 種,對(duì)每一種組合方式,再測(cè)試是否符合“百錢、百雞”這兩個(gè)條件;若符合,則該組合就是問(wèn)題的一個(gè)解。

上述思想可編寫MATLAB程序如下:

clc;

clear all;

for cock=0:20

for hen=0:33

for chicken=0:100

if (5*cock+3*hen+chicken/3==100)&&(cock+hen+chick en==100)

[cock,hen,chicken]

end

end

end

end

對(duì)于上述求解我們稱為算法1,該算法在一般的教科書中都有陳述,很明顯該算法的時(shí)間復(fù)雜度為,最內(nèi)層的if語(yǔ)句被執(zhí)行了72114次。在答案僅有4中組合的情況下,將有72110次是無(wú)意義的重復(fù)執(zhí)行,極大浪費(fèi)了系統(tǒng)資源。

為了提高效率,減少循環(huán)次數(shù),利用百雞條件,有些研究者將上述算法進(jìn)行了簡(jiǎn)單優(yōu)化,變?nèi)匮h(huán)為二重循環(huán),改進(jìn)后的算法描述如下:

clc;

clear all;

for cock=0:20

for hen=0:33

chicken=100-cock-hen;

if (5*cock+3*hen+chicken/3==100)

[cock,hen,chicken]

end

end

end

對(duì)于上述求解方法我們稱為算法2,該算法的時(shí)間復(fù)雜度為,最內(nèi)層的if語(yǔ)句被執(zhí)行了714次,與算法1相比執(zhí)行次數(shù)明顯減少,該算法是目前為止比較好的,也得到眾多學(xué)者的賞識(shí);但是,循環(huán)次數(shù)還是比較多的。

3 改進(jìn)的窮舉算法

為了進(jìn)一步減少循環(huán)次數(shù),我們從改變循環(huán)結(jié)構(gòu)的循環(huán)重?cái)?shù)、精確計(jì)算循環(huán)增量?jī)蓚€(gè)角度進(jìn)行優(yōu)化。

3.1 改變循環(huán)結(jié)構(gòu)的重?cái)?shù)

通過(guò)分析算法1、算法2知,循環(huán)重?cái)?shù)是由未知數(shù)的數(shù)量決定的,減少未知數(shù)可以減少循環(huán)的重?cái)?shù),為此我們利用消元法將方程組化簡(jiǎn)以減少未知數(shù),再用假設(shè)的變量來(lái)表示未知數(shù),這樣可以改變循環(huán)結(jié)構(gòu)。

首先,將方程組(1)的式*3-(2)式,得:

即:

這樣就可以用變量x表示變量y,改變算法2的二重循環(huán)為單層循環(huán)。

3.2 循環(huán)變量的范圍與步長(zhǎng)的精確設(shè)置

因?yàn)閥≥0,且y為整數(shù),所以25-7x/4≥0,即x≤1(當(dāng)x=13時(shí),不能使y為整數(shù))

另由(3)式知,x必須為數(shù)4的整數(shù)才能使y為整數(shù),所以在x初值為0時(shí)取其步長(zhǎng)為4。

綜合以上優(yōu)化分析,提出新的窮舉算法如下:

clc;

clear all;

for cock=0:4:12

hen=25-(cock/4)*7;

chicken=100-cock-hen;

[cock,hen,chicken]

end

4 結(jié)果分析為了比較算法的優(yōu)劣,我們將所提新算法稱為算法3,該算法在進(jìn)一步分析隱含條件的基礎(chǔ)上,繼續(xù)消元,真正改變多重循環(huán)為單重循環(huán),減少了時(shí)間復(fù)雜度,具體對(duì)比分析如表1所示。

表1 算法結(jié)果對(duì)比

通過(guò)對(duì)比可以發(fā)現(xiàn),無(wú)論在時(shí)間復(fù)雜度還是在循環(huán)次數(shù)上,本文所提出的算法3都達(dá)到最優(yōu)化狀態(tài)(“百錢百雞”問(wèn)題有4中解),這為我們求解類似的窮舉問(wèn)題提供了一個(gè)很好的思路:應(yīng)充分挖掘和利用已知條件,尋找隱含條件因素來(lái)限制窮舉的次數(shù)以提高求解效率。

[1]李巍,徐愛(ài)功,趙亮,王昶,高良博.基于Matlab的測(cè)量坐標(biāo)系統(tǒng)轉(zhuǎn)換[J].煤炭學(xué)報(bào),2014,39(01):88-92.

[2]吳文肖.窮舉法在確定帶電粒子在磁場(chǎng)中軌跡的應(yīng)用[J].物理教學(xué)探討,2017,35(500):36-38.

[3]黃隆華,陳志輝.算法設(shè)計(jì)與分析課程的“百錢買百雞問(wèn)題”趣用[J].計(jì)算機(jī)教育,2016(03):143-145.

[4]R.VenkataRao,G.G.Waghmare.A New Optimization Algorithm for Solving Complex Constrained Design Optimization Problems[J].Engineering Optimization,2017,49(01):60-83.

[5]呼娜.淺談如何激發(fā)學(xué)習(xí)高等數(shù)學(xué)的興趣[J].山東工業(yè)技術(shù),2016(03):220.

10.16640/j.cnki.37-1222/t.2018.01.197

國(guó)家自然科學(xué)基金面上項(xiàng)目(61771231)

蘇琳(1998-),女,山東棲霞人,本科,助教,研究方向:主要從事優(yōu)化設(shè)計(jì)、材料力學(xué)等方面的研究。

猜你喜歡
優(yōu)化
超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
PEMFC流道的多目標(biāo)優(yōu)化
能源工程(2022年1期)2022-03-29 01:06:28
民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
關(guān)于優(yōu)化消防安全告知承諾的一些思考
一道優(yōu)化題的幾何解法
由“形”啟“數(shù)”優(yōu)化運(yùn)算——以2021年解析幾何高考題為例
圍繞“地、業(yè)、人”優(yōu)化產(chǎn)業(yè)扶貧
事業(yè)單位中固定資產(chǎn)會(huì)計(jì)處理的優(yōu)化
4K HDR性能大幅度優(yōu)化 JVC DLA-X8 18 BC
幾種常見(jiàn)的負(fù)載均衡算法的優(yōu)化
電子制作(2017年20期)2017-04-26 06:57:45
主站蜘蛛池模板: 国产欧美精品一区二区| 亚洲天堂视频网站| 尤物亚洲最大AV无码网站| 久久激情影院| 欧美日韩国产精品综合| 九九热精品视频在线| 国产黄色视频综合| 国产av一码二码三码无码| 欧美成人免费午夜全| 制服丝袜一区| 九九香蕉视频| 国产无码网站在线观看| 国产成人久视频免费| 亚洲国产成人精品一二区| 91美女视频在线观看| 久久超级碰| 国产h视频在线观看视频| 国产91透明丝袜美腿在线| 一边摸一边做爽的视频17国产| 亚洲永久色| 亚洲AⅤ无码日韩AV无码网站| 欧美午夜视频| 亚洲天堂色色人体| 欧美高清视频一区二区三区| 国产极品嫩模在线观看91| 中文字幕第1页在线播| 欧美专区在线观看| 成年人免费国产视频| 日韩国产一区二区三区无码| 国产精品成人啪精品视频| 2018日日摸夜夜添狠狠躁| 97se亚洲综合| 2021国产精品自拍| 在线欧美日韩国产| 色成人综合| 久久久久久久久久国产精品| 国产乱人激情H在线观看| 伊人狠狠丁香婷婷综合色| 91青青草视频在线观看的| 亚洲综合第一区| 国产在线精品香蕉麻豆| 欧美特黄一免在线观看| 中文字幕久久亚洲一区 | 久久情精品国产品免费| 小13箩利洗澡无码视频免费网站| 伊人久久精品无码麻豆精品 | 亚洲综合色吧| 亚洲三级电影在线播放 | 3344在线观看无码| 又爽又黄又无遮挡网站| 青青热久麻豆精品视频在线观看| 亚洲首页在线观看| 99热免费在线| 永久免费无码日韩视频| 国产又色又爽又黄| 久99久热只有精品国产15| 亚洲欧美日韩高清综合678| 97亚洲色综久久精品| 色婷婷亚洲综合五月| 日韩精品一区二区三区swag| h视频在线观看网站| 精品国产免费观看| 伊人91在线| aa级毛片毛片免费观看久| 67194亚洲无码| 久久亚洲中文字幕精品一区| 精品国产www| 国产黄色片在线看| 国产成人亚洲无码淙合青草| 欧美日韩亚洲国产| 97人妻精品专区久久久久| 国产在线视频欧美亚综合| 中文字幕不卡免费高清视频| 色成人亚洲| 综合色区亚洲熟妇在线| 91无码人妻精品一区| 丰满人妻中出白浆| 色悠久久综合| 天天躁夜夜躁狠狠躁图片| 欧美影院久久| 色视频国产| 婷婷综合亚洲|