拖拖拉拉这么久终于把运筹学第一章复习完了,但是相比于写博客,我还是更愿意用LaTex写学习笔记。这里就只说一下概况好了。
在工作和生活当中,如果我们把一些实际问题归纳为数学问题之后,其目标函数和约束条件都是线性的,则称这样的问题为线性规划问题。线性规划问题可以化为标准型,化为标准型之后就可以用单纯形法求解,简单问题可以手动求解,复杂问题用计算机求解,有不少求解线性规划问题的工具可以使用。
线性规划问题的约束条件勾勒出的是一个超维凸集,而目标函数可以看做是一个超平面。这个超平面的法向量就是各变量的系数。如果把超平面按照法向量方向平移,则目标函数值将单调增加。当这个超平面沿着法向量方向运动到可行域凸集的边界时目标函数值最大,如果反方向运动到边界,则目标函数值最小。这里所谓的运动到边界是指平面沿法向量移动任意小的距离都将导致超平面和可行域凸集没有交集的情况。
线性规划相关基础知识在我的资源线性规划与单纯形法里面。这里举例说明如何用matlab求解线性规划问题。问题表述如下:
宏银公司承诺为某建设项目从2003年起的4年中每年年初分别提供以下数额贷款:2003年——100万元,2004年——150万元,2005年——120万元,2006年——110万元。以上贷款资金均需于2002年年底前筹集齐。但为了充分发挥这笔资金的作用,在满足每年贷款额情况下,可将多余资金分别用于下列投资项目:
(1)于2003年年初购买A种债券,期限3年,到期后本息合计为投资额的140%,但限购60万元;
(2)于2003年年初购买B种债券,期限2年,到期后本息合计为投资额的125%,且限购90万元;
(3)于2004年年初购买C种债券,期限2年,到期后本息合计为投资额的130%,但限购50万元;
(4)于每年年初将任意数额的资金存放于银行,年息4%,于每年年底取出。
求宏银公司应如何运用好这笔筹集到的资金,使2002年年底需筹集到的资金数额为最少。
令 x 1 x_1 x1、 x 2 x_2 x2、 x 4 x_4 x4分别表示购买A、B、C三种债券的金额(单位:万元),令 x 3 x_3 x3表示2003年初存入银行的钱款(单位:万元),令2002年底需要筹集到的资金数额为 z z z(单位:万元)。则根据题目条件可以列出以下线性规划问题:
m i n z s t { x 1 + x 2 + x 3 = z − 100 104 x 3 ≥ 150 104 ( 104 x 3 − 150 − x 4 ) + 125 ≥ 120 14 x 1 + 13 x 4 + 104 ( 104 ( 104 x 3 − 150 − x 4 ) + 125 x 2 − 120 ) ≥ 110 0 ≤ x 1 ≤ 60 0 ≤ x 2 ≤ 90 0 ≤ x 3 ≤ 380 0 ≤ x 4 ≤ 50 \mathrm{min} \quad z \\ \mathrm{st} \left \{ \begin{array}{l} x_1+x_2+x_3=z-100\\ 104x_3 \geq 150 \\ 104(104x_3-150-x_4)+125 \geq 120 \\ 14x_1+13x_4+104(104(104x_3-150-x_4)+125x_2-120) \geq 110\\ 0 \leq x_1 \leq 60 \\ 0 \leq x_2 \leq 90 \\ 0 \leq x_3 \leq 380 \\ 0 \leq x_4 \leq 50 \end{array} \right minzst⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧x1+x2+x3=z−100104x3≥150104(104x3−150−x4)+125≥12014x1+13x4+104(104(104x3−150−x4)+125x2−120)≥1100≤x1≤600≤x2≤900≤x3≤3800≤x4≤50
该问题可以化为以下标准问题:
m i n x 1 + x 2 + x 3 + 100 s t { A X ≤ b 0 ≤ x 1 ≤ 60 0 ≤ x 2 ≤ 90 0 ≤ x 3 ≤ 380 0 ≤ x 4 ≤ 50 \mathrm{min} \quad x_1+x_2+x_3+100 \\ \mathrm{st} \left \{ \begin{array}{l} \mathbf{AX} \leq \mathbf{b}\\ 0 \leq x_1 \leq 60 \\ 0 \leq x_2 \leq 90 \\ 0 \leq x_3 \leq 380 \\ 0 \leq x_4 \leq 50 \end{array} \right minx1+x2+x3+100st⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧AX≤b0≤x1≤600≤x2≤900≤x3≤3800≤x4≤50
其中,
A = [ 0 0 − 104 0 0 − 125 − 10816 104 − 14 − 13 − 1124864 − 02184 ] b = [ − 150 − 276 − 39704 ] \mathbf{A}= \left[ \begin{array}{cccc} 0 & 0 & -104 & 0 \\ 0 & -125 & -10816 & 104 \\ -14 & -13 & -1124864 & -02184 \end{array} \right] \mathbf{b}= \left[ \begin{array}{c} -150 \\ -276 \\ -39704 \end{array} \right] A=⎣⎡00−140−125−13−104−10816−11248640104−02184⎦⎤b=⎣⎡−150−276−39704⎦⎤
借助optimtool可以求得最优值为4203957(单位:万元),最优解为 x 1 = 60 x_1=60 x1=60、 x 2 = 90 x_2=90 x2=90、 x 3 = 170396 x_3=170396 x3=170396、 x 4 = 20 x_4=20 x4=20。optimtool求解界面如图所示:
线性代数
朔州市民请关注领取补贴!
巨摩互动
广告

小学四年级数学(下册)需掌握的知识要点归纳
一、《四则运算》
()只有加、减时怎样算?⎧1
⎪(算。⎪2)只有乘、除时怎样计⎪
1、知道运算顺序。( 时怎样计算?⎨3)加、减、乘、除混合
⎪4)算式中有括号时又怎(样计算?⎪⎪(有式子的运算顺序。⎩5)括号的作用是改变原
()0不能作除数。⎧1⎪
2、知道“0”的算法。(0除以非0的任何数都得0。 ⎨2)
⎪3)任何数加、减(0都得任何数。⎩
3、能把已知的几个算式合并成一个算式。⎨
()一般从后面的算式看到前面的算式。⎧1
(等于它的式子。⎩2)把等号左边的数换成
二、《位置与方向》
1、以平面方向图记住各个方向。 2、会判断两地之间的方向。
⎧(1) 先判断出大体方向。⎪(⎪2)再判断具体方向。⎪
3、会判断两地之间的具体方向。⎨①大体方向里“什么”偏“什么”方向。
⎪②大体方向里“什么”偏“什么”多少度⎪⎪⎩的方向上,相距多少?
4、知道两物体之间的方向关系。
⎧⎪⎪
⎪(1) 已知平面示意图,说出各地的位置与方向。⎪
⎪2)椐题目的意思,自己(设计出线路示意图, ⎪
来。5、知道平面示意图的位置与方向。⎨并能在平面图中表示出
⎪3)椐题目描述的位置方(向写出箭头线路示⎪⎪⎧①知道去、回的方向。⎪⎪
回总路程⎪意图⎨②会算去、回的路程及去
⎪③会算去、回的速度及去⎪回路程的速度⎩⎩
三、《运算定律与简便计算》
1、加法定律。⎨
⎧(1) a +b =b +a
⎩(2)(a +b ) +c =a +(b +c )
⎧⎪
⎪(1) a ⨯b =b ⨯a ⎪
2、乘法定律。⎨(2)(a ⨯b ) ⨯c =a ⨯(b ⨯c )
⎪(a ±b ) ⨯c =a ⨯c ±b ⨯c ⎪(3) ⎧⎨⎪⎩⎩(a ⨯(b ±c ) =a ⨯b ±a ⨯c
3、简便计算。
个数之和或是差⎧两个相加——把加数拆成更小的两⎪
(1)加法⎨⎧用交换律
⎪多个数相加⎨用结合律
⎩⎩成⎧两个数相减——把减数或是被减数拆
⎪
(2)减法⎨更小的两个数之和或是差。
⎪多个数相减——结合后面部分⎩(3)加、减法——可交换、结合
分配率)⎧两个相乘(拆开、再用
⎪
(4)乘法⎨多个数相乘(用交换律或结合律)
⎪知道分配律的顺应用和逆应用(注意隐形的1)⎩
⎧式,再用分配律。⎧被除数可分成加、减形两个数相除 ⎪⎨
(5)除法⎨式;只能分成乘、除形式。⎩除数不能分成加、减形
⎪
⎩多个数相除——结合后面部分(6)乘、除法——可交换、结合 (7)加、减、乘、除法混合。
4、记住:在减号和除号后面添括号或是去括号,括号里面的号要改变;但是减号后只针对加、减号,除号后面只针对乘、除号。 四、《小数的意义和性质》
()知道小数与分数的互化。⎧1⎪
⎧①以整个小数来说⎪
⎪⎪(⎨②以小数的数位来说⎪2)给小数,说出意义
1、小数的产生和意义。⎨ ⎪③能说出每个数位的计数单位⎩⎪
⎪3)给意义,写出小数。(⎪⎪(出小数表示出相关图形的阴影部分。⎩4)能看图写出小数,给
2、小数的读法和写法。
()记住小数的基本性质是什么?⎧1⎪
3、小数的性质。( 按要求改写小数。⎨2)会用性质化解小数和
⎪3)计算最后的结果一般(要化成最简小数。⎩
4、小数大小的比较。
(1)一般比较。——从整数部分比起,再比到小数部分分出大小。 (2)带有单位的比较。——要把单位化相同才去比较。 (3)多个小数的比较。——用排除法从大筛选到小。
1位,数就扩大了10倍(⨯10),依次类推。⎧(1) 小数点向右移动
⎪
5、小数点的移动。⎨ 1
(1÷10),依次类推。⎪2) 小数点向左移动10⎩
⎧⎪⎪⎪1()记住换算方法:——大化小用乘,小化大用除。⎪⎪
6、生活中的小数。( 之间的进率。⎨2)记住常见几个单位量
⎪
⎧单名数化单名数⎪
⎪3)换算的种类⎪(⎨单名数化复名数⎪⎪复名数化单名数⎪⎩⎩
7、求取小数的近似值。
⎧省略某位后面的尾数
⎪
(1)知道求近似数的三种说法。⎨精确到某位
⎪保留几位小数⎩
(2)知道求近似数的方法。——用四舍五入法。4以下的前面的数直接写,5以上的前面的数要入1。
——改写到某位就在它后面点⎧先对数改写。
⎪
上小数点,末尾加上这个数位⎪
(3)用小数的方法改写一个数,再求近似数。⎨
的单位。(用“=”号)⎪
⎪再求取近似值。(用“≈”号)⎩
五、《三角形》
1、三角形的初步认识。
(1)知道三角形的定义。
(2)组成三角形的各部分(三个角、三个顶点、三条边)以及它的命名,用字母表示。
⎧(1) 知道三角形高的定义。⎪
。⎪(2) 会辨别三角形的高和底
(3)三角形的高。⎨
(3) 会画三角形的高。⎪
⎪(4) 记住:任意三角形都有三条高。⎩
⎧①条件:两边之和大于第三边,两边之差小于第三边
⎪
(4)构成三角形边的条件。⎨②给三条边判断能否组成 三角形。
⎪③给两边,自求第三边。⎩
(5)记住:三角形具有稳定性的特性。
⎧⎧⎧锐角三角形⎫⎪⎪⎪⎪(1) 按角分直角三角形⎨⎨⎬记住他们的特征⎪
⎪⎪钝角三角形⎪⎪
⎭⎩⎩⎪
⎪⎧等腰三角形⎫⎪
2、三角形的分内。⎨(2) 按边分⎨⎬记住它们各自的特征
⎩等边三角形⎭⎪
⎪(3) 会画等腰三角形和等边三角形⎪⎪⎪⎪⎩
3、三角形的内角和。
(1)三角形的内角和是三个内角相加是180°。 (2)三角形的周长等于它们三边的长度相加。
(3
(4)等腰三角形的内角和。⎨
(180-顶角) ÷2⎧已知顶角求底角:
180-底角⨯2⎩已知底角求顶角:
4、多边形的内角和:(边数—2)×180°
5、图形的拼组。
(1)完全相同的两个三角形⎨
平四边形⎧一般三角形可以拼成:
方形或是正方形⎩直角三形可以拼成:长
(2)不同的两个三角形可以拼成:四边形、梯形。
(3)完全相同的三角形至少要:3个才能拼成梯形。 6、会在点子图上画出学过几何图形。 六、《小数的加、减法》
1、知道小数加、法的计算方法。——把小数点对齐,也就是把数位对齐。 2、小数的加、减法。⎨
⎧(1) 一般加、减。
⎩(2) 带有单位的加、减。
3、能用整数的简便方法计算小数加减法。
七、《统计》
1、知道什么事折线统计图。
出纵轴和横轴;代表数据的轴⎧(1) 观察统计表中数据,定
⎪
画成省略形式。⎪每格表示多少数,可否
2、会制折线统计图。⎨
⎪(2) 定两轴的单位。⎪(3) 描点、连线。⎩
3、知道统计图中的数据信息以及变化情况。 4、能根据条件求出平均数。 (数据相加)÷个数=平均数 八、《数学广角》 1、线路植树问题。
种树的棵数
棵数比间隔数多1
棵数=间隔数 棵树比间隔数少1
⎧两端都栽
⎪
⎪只栽一端
(1)植树的总长度÷每个间隔长度=间隔数⎨
⎪⎪⎩两端不栽⎧(1) 锯木头问题
⎪
2另外还要知道
⎨(2) 爬楼梯问题
⎪(3) 敲钟问题⎩
2、封闭图形种树问题。
(1)长方形与正方形种树问题。 ①长方形:(长边的棵树+宽边的棵树)÷2-4=种树一周的棵数
⎧每边的棵数⨯4-4=一周的总棵数②正方形:⎨
(一周的总棵数+4)÷4=每边的棵数⎩
(2)正多边形植树问题。——每边的棵数×边数—边数
3、整个方块的外层与内层的关系。 (1)每往里一层每边要少2。
(2)最外层是双数时,最里层是4。 (3)最外层是单数时,最里层是1
2013-2014(1)专业课程实践论文
题目:三对角方程组的追赶法
一、算法理论
在一些实际问题中,例如解常微分方程边值问题,解热传导方程以及船体数学放样中建立三次样条函数等,都会要求解系数矩阵为对角占优的三对角线方程组
⎛b 1c 1⎫⎛x 1⎫⎛
⎪⎪ a b c x 2 22⎪2⎪ ⎪ ⎪= ⎪⎪
a b c x n -1n -1n -1⎪n -1⎪
⎪⎪a n b n ⎭⎝x n ⎭ ⎝⎝
f 1⎫
⎪f 2⎪ ⎪, ⎪f n -1⎪f n ⎪⎭
简记为Ax =f 。
求解Ax =f :等价于解两个三角形方程组
Ly =f , 求y ;Ux =y , 求x 从而得到解三对角线方程组的追赶法公式:
(1)计算{βi }的递推公式
β1=c 1/b 1, βi =c i /(b i -a i βi ), i =2,3, , n -1; (2) 解Ly =f
y 1=f 1/b 1, y i =(f i -a i y i -1)/(b i -a i βi -1), i =2,3, , n ;
(3)解Ux =y
x n =y n , x i =y i -βi x i +1, i =n -1, n -2, 2,1
我们将计算系数
β1→β2→ →βn -1及y 1→y 2→ →y n 的过程称为追的过程, 将计算方程组的解
x n →x n -1→ →x 1的过程称为赶的过程。
#include #include #include #define N 20
double a[N], b[N], c[N-1], f[N], r[N]; int n; int i;
void LUDecompose(); // LU分解 void backSubs(); // 回代 void main() {
printf("请输入方程的维数n ="); scanf("%d",&n); getchar(); if(n>N||n
printf("\n输入下三角元素\n"); printf("输入%d个a 值: ", n-1); for (i=1; i
printf("\n输入主对角线元素\n"); printf("输入%d个b 值: ", n); for (i=0; i
printf("\n输入上三角元素\n"); printf("输入%d个c 值: ", n-1); for (i=0; i
printf("\n输入%d个方程组右端项: \n", n); for (i=0; i
LUDecompose(); backSubs();
printf("\n线性方程组的解为: \n"); for (i=0; i
printf("x%d=%lf\n", i+1, f[i]); }
void LUDecompose(){ //α被b 取代, β被c 取代, 以节省存储空间 c[0]=c[0]/b[0]; for(i=1;i
r[i]=a[i];
b[i]=b[i]-r[i]c[i-1]; }
void backSubs(){ // y被f 取代, x也被f 取代, 以节省存储空间 f[0]=f[0]/b[0]; for(i=1; i=0;i--) f[i]=f[i]-c[i]f[i+1]; }
四、 算法实现
例1.用该程序计算三对角线方程组
00⎫⎛2-10⎛1⎫
⎪ ⎪-12-100 ⎪ 0⎪
A = 0-12-10⎪, b = 0⎪计算其方程组的解。
⎪ ⎪00-12-1 ⎪ 0⎪ 0 0⎪00-12⎪⎝⎭⎝⎭
解:运行程序
(1) 显示出 请输入方程组的维数:n=5,回车。
(2) 显示出 请输入下三角元素 输入4个a 值:-1 -1 -1 -1,回车。 (3) 显示出 请输入主对角线元素 输入5个b 值:2 2 2 2 2 ,回车。 (4) 显示出 请输入上三角元素 输入4个c 值:-1 -1 -1 -1,回车。 (5) 显示出 请输入5个方程组右端顶:1 0 0 0 0,回车。
⎧0833333⎪0666667⎪⎪
其解为⎨0500000
⎪0333333⎪⎪⎩0166667
上机运行截图
例2.用该程序计算三对角线方程组
⎛3 1A = 0
0 0⎝
1000⎫⎛1⎫
⎪ ⎪
3100⎪ 1⎪
1310⎪, b = 0⎪计算其方程组的解。
⎪ ⎪
0131⎪ 0⎪
0⎪0013⎪⎭⎝⎭
解:运行程序
(1)显示出 请输入方程组的维数:n=5,回车。
(2)显示出 请输入下三角元素 输入4个a 值:1 1 1 1,回车。 (3)显示出 请输入主对角线元素 输入5个b 值:3 3 3 3 3 ,回车。 (4)显示出 请输入上三角元素 输入4个c 值:1 1 1 1,回车。 (5)显示出 请输入5个方程组右端顶:1 1 0 0 0,回车。
⎧0236111
⎪0291667⎪⎪
其解为⎨-0111111
⎪0041167⎪⎪⎩-0013889上机运行截图
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)