日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

非线性规划问题求解(举例)

發(fā)布時間:2023/12/8 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 非线性规划问题求解(举例) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.概述

非線性規(guī)劃是一種求解目標(biāo)函數(shù)或約束條件中有一個或幾個非線性函數(shù)的最優(yōu)化問題的方法。運(yùn)籌學(xué)的一個重要分支。20世紀(jì)50年代初,庫哈(H.W.Kuhn) 和托克 (A.W.Tucker) 提出了非線性規(guī)劃的基本定理,為非線性規(guī)劃奠定了理論基礎(chǔ)。這一方法在工業(yè)、交通運(yùn)輸、經(jīng)濟(jì)管理和軍事等方面有廣泛的應(yīng)用,特別是在“最優(yōu)設(shè)計(jì)”方面,它提供了數(shù)學(xué)基礎(chǔ)和計(jì)算方法,因此有重要的實(shí)用價(jià)值。

簡單來說,若規(guī)劃問題的目標(biāo)函數(shù)或約束條件中包含非線性函數(shù),則稱為非線性規(guī)劃。

2.模型

本文主要采用matlab進(jìn)行非線性規(guī)劃的求解,lingo的求解以后會專門出一個教程。

下面是Matlab中非線性規(guī)劃的標(biāo)準(zhǔn)形式:

其中,大部分參數(shù)同線性規(guī)劃;‘fun’為目標(biāo)函數(shù);VLB、VUB為邊界約束;A、b、Aeq、beq為線性約束,其中A、b為不等式約束,Aeq、beq為等式約束;‘nonlcon’為非線性約束;x0是初始值,也就是迭代的起點(diǎn);options是算法中相關(guān)的設(shè)置,一般可以先用默認(rèn)的求解,然后根據(jù)matlab的提示再調(diào)整。

3.舉例求解

????????小龍蝦因體型比其他淡水蝦類大,肉也相對較多,及肉質(zhì)鮮美之原因,而被制成多種料理,都受到了普遍的歡迎。《中國小龍蝦產(chǎn)業(yè)發(fā)展報(bào)告(2021)》中指出,2021年我國小龍蝦產(chǎn)業(yè)繼續(xù)保持較快發(fā)展,養(yǎng)殖面積和養(yǎng)殖產(chǎn)量再創(chuàng)新高,據(jù)測算, 2021年我國小龍蝦養(yǎng)殖總產(chǎn)量將達(dá)208.96萬噸,小龍蝦產(chǎn)業(yè)總產(chǎn)值達(dá)4110億元,其中,小龍蝦養(yǎng)殖業(yè)產(chǎn)值約710億元。

????????現(xiàn)在請運(yùn)用數(shù)學(xué)知識來研究一下小龍蝦養(yǎng)殖的相關(guān)問題。小龍蝦在一個繁殖周期內(nèi),龍蝦數(shù)量以斐波那契數(shù)列增長,1,2,3,5,8,13,21,34,55,89...這個數(shù)列的前后項(xiàng)之比越來越趨近于黃金分割0.618,換而言之,這個數(shù)量增長的速度幾乎是以為底數(shù)的指數(shù)增長列。

????????假設(shè)某種龍蝦分四個年齡組,分別為一歲到四歲。各年齡組龍蝦的平均重量分別為5.17、11.58、17.66、22.98(g),各年齡組龍蝦的自然死亡率為0.79(/年),且龍蝦為季節(jié)性繁殖,平均每只四歲蝦的產(chǎn)卵量為?(個),三歲蝦的產(chǎn)卵量為這個數(shù)的一半,兩歲蝦和一歲蝦不產(chǎn)卵,產(chǎn)卵和孵化期為每年的最后4個月,卵孵化并成活為一歲蝦,其成活率(一歲蝦條數(shù)與產(chǎn)卵總量 之比)為 。龍蝦養(yǎng)殖場每年只在產(chǎn)卵孵化期前的8個月內(nèi)進(jìn)行捕撈作業(yè).如果每年捕撈強(qiáng)度固定不變,這時單位時間捕撈量與各年齡組蝦群條數(shù)成正比,比例系數(shù)稱捕撈強(qiáng)度系數(shù).通常只捕撈三歲蝦和四歲蝦,其兩個捕撈強(qiáng)度系數(shù)之比為0.42:1。

現(xiàn)假設(shè)有一荒廢的池塘中龍蝦數(shù)量隨時間變化如表1所示

表1? 某荒廢的池塘中龍蝦數(shù)量隨時間變化表

請你和你的團(tuán)隊(duì)嘗試解決以下問題:

問題1為了滿足龍蝦養(yǎng)殖場的長期運(yùn)營,需要實(shí)現(xiàn)每年開始捕撈時養(yǎng)殖場中各年齡蝦的數(shù)量基本保持不變。請建立數(shù)學(xué)模型分析如何在此前提下得到最高的年收獲量(捕獲龍蝦總重量)。

問題2若某龍蝦養(yǎng)殖場計(jì)劃養(yǎng)殖這種龍蝦,要求5年后蝦群的生產(chǎn)能力不能受到太大破壞。已知承包時各年齡組蝦群的數(shù)量分別為:125、31.7、9.7、3.09( 只),如果采用相同的捕撈強(qiáng)度,該養(yǎng)殖場應(yīng)采取怎樣的策略才能使總收獲量最高。

以問題1為例說明如何分析非線性規(guī)劃以及利用MATLAB求解非線性規(guī)劃問題

由題易知其為最優(yōu)化問題,故須確立目標(biāo)函數(shù),約束條件進(jìn)行優(yōu)化求解。

目標(biāo)函數(shù):收獲的蝦的總重量最大

約束條件

第j+1年y+1歲蝦的數(shù)量n(j+1)(y+1) =第j年y歲蝦的數(shù)量njy *(1-0.79)(存活率)

(j=1,2……;y=1,2)

第j+1年4歲蝦的數(shù)量n(j+1)4 =第j年3歲蝦的數(shù)量nj3 *(1-0.79)(存活率)-第j年3歲蝦的捕撈量bj3

(n=1,2……)

第j+1年1歲蝦的數(shù)量n(j+1)1 =(第j年4歲蝦的數(shù)量nj4 -第j年4歲蝦的捕撈量b4)*4歲蝦的產(chǎn)卵量 +(第j年3歲蝦的數(shù)量nj3 -第j年3歲蝦的捕撈量b3)*3歲蝦的產(chǎn)卵量(四歲蝦的一半)

蝦的捕撈量和其數(shù)量有關(guān)。

(b3/n3)/(b4/n4)=0.42

各個年齡段的蝦的數(shù)量基本保持不變(k=5%)

njy*(1-k)≤nj+1y≤njy*(1+k)

(j+1年y歲蝦的數(shù)量處于j年y歲蝦的數(shù)量*百分比(1k))范圍內(nèi)

捕撈量小于龍蝦數(shù)量:b3<n13,b4<n14;

蝦的數(shù)量為整數(shù):njy(j=1,2;y=1,2,3,4),

捕撈量為整數(shù):b3,b4

第一年各年齡蝦的數(shù)量:1226,308,99,41;

第二年各年齡蝦的數(shù)量:1273,293,100,39。

前后兩年蝦的數(shù)量波動在5%以內(nèi)

捕獲的3歲蝦29只,4歲蝦28只

收獲29*17.66+28*22.98=1155.6克

代碼實(shí)現(xiàn)

%非線性規(guī)劃main.m p=0.79;%死亡率 k=0.05;%與前一年相比,今年各個年齡段蝦的數(shù)量的波動系數(shù) %% 線性不等式約束 A=[1-k,0,0,0,-1,0,0,0,0,0;-1-k,0,0,0,1,0,0,0,0,0;0,1-k,0,0,0,-1,0,0,0,0;0,-1-k,0,0,0,1,0,0,0,0;0,0,1-k,0,0,0,-1,0,0,0;0,0,-1-k,0,0,0,1,0,0,0;0,0,0,1-k,0,0,0,-1,0,0;0,0,0,-1-k,0,0,0,1,0,0;0,0,-1,0,0,0,0,0,1,0;0,0,0,-1,0,0,0,0,0,1;]; b=[0;0;0;0;0;0;0;0;0;0]; %% 線性等式約束 Aeq=[1-p,0,0,0,0,-1,0,0,0,0;0,1-p,0,0,0,0,-1,0,0,0;0,0,1-p,0,0,0,0,-1,-1,0]; beq=[0;0;0]; lb=[0;0;0;0;0;0;0;0;0;0]; ub=[]; x0=[1000,1000,1000,1000,1000,1000,1000,1000,210,500]; %% 求解 [x,fval,exitflag] = fmincon('fmin',x0,A,b,Aeq,beq,lb,ub,'fcontr'); %% 目標(biāo)函數(shù)fmin.m function f = fmin(t) b3=t(9);b4=t(10); f=-(b3*17.66+b4*22.98); end %% 非線性fcontr.m function [c d] = fcontr(t) n13=t(3);n14=t(4);n21=t(5);%各類蝦的數(shù)量 b3=t(9);b4=t(10);%捕撈量 l4 = 1.108*10^5; %產(chǎn)卵量 l3 = 0.5*l4; p34=1.21*10^11/(1.21*10^11+(n13-b3)*l3+(n14-b4)*l4);%卵的成活率 d1 = ((n13-b3-8/12*n13*0.79)*l3+(n14-b4-8/12*n14*0.79)*l4)*p34-n21; %假設(shè)平均每月蝦的死亡數(shù)量為每年的死亡數(shù)量/12,到了9月份開始產(chǎn)卵 d2 = b3/b4-n13/n14*0.42; d=[d1;d2];%非線性等式約束 c=[]; end

總結(jié)

以上是生活随笔為你收集整理的非线性规划问题求解(举例)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。