最优化理论和算法: 大作业(一)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

最优化理论和算法:大作业(一)

简介:这个大作业的主要目的是在Matlab下自己编写单纯形法算法来求解标准型线性规划问题:

min c T x

s.t.Ax=b

x≥0

其中b≥0,A是m×n(m≤n)的矩阵。假设A的秩是m.特别的,A并不一定包含单位矩阵。按照要求编写下列小程序。

程序(一):实现单步单纯形法

程序格式:

function[istatus,iB,iN,xB]=simplex_step(A,b,c,iB,iN,xB)

%实现一步单纯形法

%输入参数:

%A-(n,m)系数矩阵

%b-(m,1)(正)右端向量

%c-(n,1)目标函数系数

%iB-(1,m)整数向量记录当前基本变量的指标数

%iN-(1,n-m)整数向量记录当前非基本变量的指标数

%xB-(m,1)向量代表当前基本变量的值

%输出参数:

%istatus-整数标记单纯形法执行状态

%istatus=0正常单纯形法步完成

% istatus=32问题无界

% istatus=-1找到最优基本可行解

%iB-(1,m)整数向量记录运行单纯形法之后的基本变量的指标数

%iN-(1,n-m)整数向量记录运行单纯形法之后的非基本变量的指标数

%xB-(m,1)向量记录运行单纯形法之后的基本变量的值

注:该程序不考虑退化情形。

程序(二):利用两步法中的第一步来求解一个初始基本可行解

程序格式:

function[istatus,iB,iN,xB]=simplex_init(A,b)

%实现两步法中的第一步来求解一个初始基本可行解,通过求解下面的问题:

%min y_1+...+y_m

%s.t.Ax+y=b

%x>=0,y>=0

%A是m x n矩阵。

%输入参数:

%A-(n,m)系数矩阵

%b-(m,1)正的右端向量

%输出参数:

%istatus-整数标记初始化状态

% istatus=1找到原问题的一个基本可行解

% istatus=4问题可行域是空集

% istatus=16初始化过程失败

%iB-(1,m)整数向量记录运行初始化之后的基本变量的指标数(对应原问题)

%iN-(1,n-m)整数向量记录运行初始化之后的非基本变量的指标数(对应原问题)

%xB-(m,1)向量记录运行初始化之后的基本变量的值(对应原问题)

注:为了简单化程序,若初始化过程找到的初始基本可行解包含某些人工变量y j,设置istatus=16(初始

化失败)。

程序(三):调用前面两个程序用单纯形法来求解线性规划问题

程序格式

function[istatus,X,eta,iB,iN]=simplex_method(A,b,c)

%求解下面的问题:

%min c’x

%Ax=b

%x>=0

%输入参数:

%A-(n,m)系数矩阵

%b-(m,1)正的右端向量

%c-(n,1)目标函数系数

%输出参数:

%istatus-整数标记初始化状态

%istatus=1单纯形法正常结束,e.g找到一个最优基本可行解

%istatus=4问题可行域是空集

%istatus=16问题可行域非空,但初始化过程失败

%istatus=32问题无界

%X-(n,1)最优基本可行解

%eta最优目标函数值

%iB-(1,m)整数向量记录运行对应最优解的基本变量的指标数

%iN-(1,n-m)整数向量记录运行对应最优解的非基变量的指标数

注:该程序不考虑退化情形。

程序(四):测试算例

程序要求:

1.设计四个算例,分别对应程序(三)的四个状态,输出计算结果。

2.利用Matlab内部命令linprog和 options=optimset(’LargeScale’,’off’,’Simplex’,’on’)

输出计算结果。

3.对于istatus=1的情况,比较两个程序所得到的目标函数值,最优解(如果最优解不唯一,两个程序得

到的解不一定一致),和计算时间。

大作业要求和评分标准

1. 打印的四个程序代码和程序(四)的输出结果(注明名字,学号和Email地址)

2. 上交期限:2011/11/17,逾时者计0分.

3. 程序的正确性和完备性,输入和输出和要求一致。

4. 程序的可读性,必要的注释

5. 算例输出结果的有效性。

6. 严禁互相抄袭,若发现抄袭,双方成绩计0分。

相关文档
最新文档