當前位置:商標查詢大全網 - 彩票開獎 - 彩票delphi彩票源代碼_彩票app源代碼

彩票delphi彩票源代碼_彩票app源代碼

2002年數學建模B題“數學中彩票”中用MATLAB或LINGO求解非線性問題最優解的代碼實現。(題目如下。

應該是混合整數規劃問題。目前matlab中還沒有解決這個問題的相關函數。

我開發了壹個“混合(非)線性規劃軟件包”,描述如下:(很抱歉有些不能在Word中顯示)

這個軟件包主要有兩個程序,壹個是處理混合線性規劃,壹個是處理非線性。

1.混合線性規劃

2.混合非線性規劃問題

其中自變量為向量的上下界,分別為線性約束條件的系數矩陣和常數項,線性約束條件中不等式約束條件的系數矩陣和常數項,非線性約束條件中等式約束條件和不等式約束條件。是離散的非整數變量,取值範圍為,是整數變量,其余為連續變量。

我們可以用xstatus的數組來設置離散或整數變量的狀態,其中xstatus(1,:)是自變量中離散或整數變量的下標;xstatus(2,:)中每個元素的值是1或2。如果是1,則xstatus中對應列的自變量是整數變量,如果是2,則xstatus中對應列的變量是離散變量。對應列中離散變量範圍的序列號,如果變量是整數,則該值為零。所以可以表示為:

這裏舉四個例子來說明,其余的後面再講。

示例1。所有變量都是整數。

在兩個程序中分別修改它們。

isAllInteger = 1;

沒有必要設置其他離散變量的範圍。

例2。X2、X4、X7為整數,其余為連續變量。

在兩個程序中分別修改它們。

isAllInteger = 0;

修改如下:

在主程序中調用“checkIntDisc”的格式變為“checkIntDisc(...,xstatus)”。

例3。x2,x4,X4為整數,x3,x7,x9取自D1集合,其余為連續變量。

在兩個程序中分別修改它們。

isAllInteger = 0;

修改如下:

在主程序中調用“checkIntDisc”的格式變為“checkintdisc(...,xstatus,d1)”。

例4。x2、x4為整數,x3、x9取自D1集合,x7取D2,其余為連續變量。

在兩個程序中分別修改它們。

isAllInteger = 0;

修改如下:

在主程序中調用“checkIntDisc”的格式變為“checkintdisc(...,xstatus,d1,d2)”。

使用兩個程序的具體步驟:

添加路徑“\ ...”使用“文件/設置路徑…”在Matlab環境下。

根據妳的實際問題,按照以下六個步驟修改壹系列參數和文件。

1)參數由函數fmincom.m的要求給出

a,B,Aeq,Beq,LB,UB,X0

2) 'obj_fun.m '是目標函數源文件。

3) 'nl_con_fun.m '是非線性約束(不包括整數或離散需求)的源文件。

4)設置所有組件是否為整數要求。

isAllInteger = 1;所有分量都是整數。

IsAllInteger=0並非所有的分量都是整數。

5)修改離散變量的範圍參數D1—Dm。

D1=[2.5,3,4,6,8,10,12,16];%離散需求x(1),x(2),x(3)

D2=[2.5,3,4,6,8,10,12.2,16.6];離散需求百分比

如有必要,修改“checkintdisc(...,xstatus,d1)"到" checkintdisc(...,xstatus,d1,..,dm)”。

6)修改後的數組

詳情:法法:spjin@whut.edu.cn。