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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

跟着川川学数模-Day2

發布時間:2025/3/15 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 跟着川川学数模-Day2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

一、前言

二、問題提出

?三、問題求解

3.1 線性規劃(忽視整數條件)

3.2 整數線性規劃

3.2.1 對x1進行分枝求解

3.2.2 在x范圍下對x2進行分支求解

3.2.3 求解最大值

3.2.4 結果


一、前言

在川川前面兩篇的推送中,學習到了如何求解線性規劃最大值與最小值問題,但相關參數均以最優形式出現,那么在實際工程問題或者生活中,大部分要求為整數,因此本文將探討線性整數規劃問題。

二、問題提出

?三、問題求解

3.1 線性規劃(忽視整數條件)

忽略整數這一限制條件,即仍為前兩天所考慮的線性規劃問題,給出如下代碼:

clc clear all c=[40 90];%目標函數確定 a=[9,7;7,20]; b=[56,70];%兩個不等式約束條件 aeq=[]; beq=[];%沒有等式約束 lb=[0;0];%大于等于0 ub=[inf;inf]; [x,fval]=linprog(-c,a,b,aeq,beq,lb,ub); x best=c*x

運行所得結果如下:

Optimal solution found.x =4.80921.8168best =355.8779

3.2 整數線性規劃

在3.1中可以看到,z的最大值為355.9779那么我們可以將z的范圍暫定為0≤z≤356,同樣由于3.1中未考慮x1和x2的整數問題,而x1在4-5的整數范圍內無其他整數,因此需要通過分枝方法來解決。

3.2.1 對x1進行分枝求解

(1)0≤x1≤4情況下代碼如下:

clc clear all c=[40 90];%目標函數確定 a=[9,7;7,20]; b=[56,70];%兩個不等式約束條件 aeq=[]; beq=[];%沒有等式約束 lb=[0;0];%大于等于0 ub=[4;inf];%x1的上限改為4,x2沒有上限 [x,fval]=linprog(-c,a,b,aeq,beq,lb,ub); x best=c*x

結果為:

Optimal solution found.x =4.00002.1000best =349

(2)x1≥5情況下代碼如下:

clc clear all c=[40 90];%目標函數確定 a=[9,7;7,20]; b=[56,70];%兩個不等式約束條件 aeq=[]; beq=[];%沒有等式約束 lb=[5;0];%大于等于0 ub=[inf;inf];%x1的上限改為4,x2沒有上限 [x,fval]=linprog(-c,a,b,aeq,beq,lb,ub); x best=c*x

結果為:

Optimal solution found.x =5.00001.5714best =341.4286

(3)符合條件最大值范圍的再次確定:0≤z≤349

3.2.2 在x范圍下對x2進行分支求解

(1)在0≤x1≤4情況下,對0≤x2≤2分支情況下代碼如下:

clc clear all c=[40 90];%目標函數確定 a=[9,7;7,20]; b=[56,70];%兩個不等式約束條件 aeq=[]; beq=[];%沒有等式約束 lb=[0;0];%大于等于0 ub=[4;2];%x1的上限改為4,x2上限為2 [x,fval]=linprog(-c,a,b,aeq,beq,lb,ub); x best=c*x

結果為:

Optimal solution found.x =42best =340

(1)在0≤x1≤4情況下,對x2≥3分支情況下代碼如下:

clc clear all c=[40 90];%目標函數確定 a=[9,7;7,20]; b=[56,70];%兩個不等式約束條件 aeq=[]; beq=[];%沒有等式約束 lb=[0;3];%x1大于等于0,x2大于等于3 ub=[4;inf];%x1的上限改為4,x2無上限 [x,fval]=linprog(-c,a,b,aeq,beq,lb,ub); x best=c*x

結果為:

Optimal solution found.x =1.42863.0000best =327.1429

(3)符合條件最大值范圍的再次確定:340≤z≤349

3.2.3 求解最大值

在前面兩步中,我們將x1的范圍縮至大于等于5,接下來我們對x2進行分支

(1)0≤x2≤1

clc clear all c=[40 90];%目標函數確定 a=[9,7;7,20]; b=[56,70];%兩個不等式約束條件 aeq=[]; beq=[];%沒有等式約束 lb=[5;0];%x1大于等于5 ub=[inf;1];%x1的上限改為4,x2上限改為1 [x,fval]=linprog(-c,a,b,aeq,beq,lb,ub); x best=c*x

結果為:

Optimal solution found.x =5.44441.0000best =307.7778

(2)x2≥2

clc clear all c=[40 90];%目標函數確定 a=[9,7;7,20]; b=[56,70];%兩個不等式約束條件 aeq=[]; beq=[];%沒有等式約束 lb=[5;2];%x1大于等于5,x2大于等于2 ub=[inf;inf];%x1的上限改為4,x2沒有上限 [x,fval]=linprog(-c,a,b,aeq,beq,lb,ub); x best=c*x

結果為:

No feasible solution found.Linprog stopped because no point satisfies the constraints.x =[]錯誤使用 * 用于矩陣乘法的維度不正確。請檢查并確保第一個矩陣中的列數與第二個矩陣中的行數 匹配。要執行按元素相乘,請使用 '.*'。>>

在此條件下并無解。

3.2.4 結果

綜上所述,整個題目最優解為x1=4,x2=2時,zmax=340.

總結

以上是生活随笔為你收集整理的跟着川川学数模-Day2的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。