求求绝对值的解法过程求解法

作为秋天的最后一个节气,霜降的来临意味着天气渐冷,初霜出现,冬天即将开始。时逢秋暮露成霜,几份凝结几份阳。霜降时节,气温变冷,空气干燥,养生这件小事更万万不可忽略。
在此可输入您对该资料的评论~
(window.slotbydup = window.slotbydup || []).push({
id: '4540180',
container: s,
size: '250,200',
display: 'inlay-fix'
热门资料排行
添加成功至
资料评价:
所需积分:0整数规划求解方法
整数规划的数学模型及解的特点
解纯整数规划的割平面法
分支定界法
0—1型整数规划
指派问题与匈牙利法
整数规划的数学模型及解的特点
整数规划IP (integer&
programming):在许多规划问题中,如果要求一部分或全部决策变量必须取整数。例如,所求的解是机器的台数、人数、车辆船只数等,这样的规划问题称为整数规划,简记IP。
松弛问题(slack&
problem):不考虑整数条件,由余下的目标函数和约束条件构成的规划问题称为该整数规划问题的松弛问题。
若松弛问题是一个线性规化问题,则该整数规划为整数线性规划(integer& linear
programming)。
一、整数线性规划数学模型的一般形式
整数线性规划问题可以分为以下几种类型
1、纯整数线性规划(pure&
integer linear programming):指全部决策变量都必须取整数值的整数线性规划。有时,也称为全整数规划。
2、混合整数线性规划(mixed integer liner
programming):指决策变量中有一部分必须取整数值,另一部分可以不取整数值的整数线性规划。
3、0—1型整数线性规划(zero—one integer liner
programming):指决策变量只能取值0或1的整数线性规划。
二、整数规划的解的特点
相对于松弛问题而言,二者之间既有联系,又有本质的区别
(1)整数规划问题的可行域是其松弛问题的一个子集
(2)整数规划问题的可行解一定是其松弛问题的可行解
(3)一般情况下,松弛问题的最优解不会刚好满足变量的整数约束条件,因而不是整数规划的可行解,更不是最优解
(4)对松弛问题的最优解中非整数变量简单的取整,所得到的解不一定是整数规划问题的最优解,甚至也不一定是整数规划问题的可行解
(5)求解还是要先求松弛问题的最优解,然后用分支定界法或割平面法。
解纯整数规划的割平面法
基本思路:通过增加新的约束来切割可原问题伴随规划的可行域,使它在不断缩小的过程中,将原问题的整数最优解逐渐暴露且趋于可行域极点的位置,这样就有可能用单纯形法求出。
增加的新约束称为割平面方程或切割方程
例& 用割平面法解整数规划问题
解:将原整数规划问题称为原问题A0,不考虑整数条件的伴随规划称为问题B0,求解过程如下:
1.用单纯形法求解B0,得最优单纯形表
2.求一个割平面方程
在最终表上任选一个含有不满足整数条件基变量的约束方程。
本例中,x1=3/4,x2=7/4均不满足整数条件
若选x1,则含x1的约束方程为:
&&&&&&&&&&
(2)将所选的约束方程中非基变量的系数及常数项进行拆分处理。具体规则是:将上述系数和常数均拆成一个整数加一个非负的真分数之和。
7/4=1+3/4&&&&&
-5/2=-3+1/2&&&
则(1)式变为
(3)将上述约束方程重新组合。组合的原则是:将非基变量系数及常数项中的非负真分数部分移到等号左端,将其他部分移到等式右端,即得
(4)求割平面方程
分析式(3),等式右端由三部分组成,常数项得整数部分,基变量及非基变量(含松弛变量或剩余变量),前两部分都是整数或应取整数,而松弛变量根据约束方程来看也应取非负整数(对于这一点,当原问题A0得约束方程组中的系数或常数项中有非整数时,要求将该约束方程先化成整数系数及整数常数项,然后再标准化,就可满足),因此式(3)右端应为整数,同时由于等式左端的特殊性,右端的整数应是大于等于零的整数。这是因为可将(3)式改写成
式(4)左端是非负数,右端第一项是一个真分数,如果第二项为负整数(即≤-1的整数),则不能保证左端为非负数。因此,(3)式的左端应大于等于零
这就是一个割平面方程。
将上述方法进行一般化描述:
(1)设 是伴随规划最终单纯形表上第I行约束方程所对应的基变量,其取值为非整数,则其约束方程式为
&&&&&&&&&&&
(2)将 拆分
&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&(2)
将(2)式代入(1)式
或&&&&&&&&&&&&&
由于 , ,及 为大于等于0的整数,因此有
加入松弛变量xs,化为等式:
就是割平面方程的最基本形式。
3.将割平面方程加到伴随规划的最终单纯形表中,用对偶单纯形法继续求解
本例中选择&&&&&&&&
新的单纯形表如下:
X*=(1,1)’&&&&
4.若没有得到整数最优解,则继续做割平面,转2。
(画图说明原理,即图解法)
割平面法解整数规划问题的基本步骤
第一步:用单纯形法解松弛问题,得到最优单纯形表。
第二步:求一个割平面方程,加到最优单纯形表中,用对偶单纯形法继续求解。
第三步:若没有得到整数最优解,则继续作割平面方程,转第二步。
练习&& 用割平面法解整数规划问题
分支定界法
分支定界法的主要思路是首先求解整数规划的伴随规划,如果求得的最优解不符合整数条件,则增加新约束——缩小可行域;将原整数规划问题分支——分为两个子规划,再解子规划的伴随规划……,最后得到原整数规划的伴随规划。这就是所谓的“分支”。
所谓“定界”,是在分支过程中,若某个后继问题恰巧获得整数规划问题的一个可行解,那么,它的目标函数值就是一个“界限”,可以作为衡量处理其它分支的一个依据。
“分支”为整数规划最优解的出现创造了条件,而“定界”则可以提高搜索的效率。
例& 用分支定界法求解整数规划问题
(1)首先解该整数规划的伴随规划,如图所示,用图解法
其最优解为X*=(3/2,10/3)’,图中点A,Z*=29/6。
不符合整数要求,可任选一个变量,如x1=3/2进行分支。由于最接近3/2的整数是1和2,因而可以构造两个约束条件x1≥2
和x1≤1,分别并入原来的约束条件,形成两个分支,记为LP1,LP2
分支定界法的计算步骤
第一步:计算原问题目标函数值的初始上界
第二步:计算原问题目标函数值的初始下界
第三步:增加约束条件将原问题分支
第四步:分别求解一对分支
第五步:修改上、下界
第六步:比较上、下界大小,如有上界=下界,停止计算,找到最优解,否则转3
练习&& 用分支定界法求解整数规划问题
0—1型整数规划
0—1型整数规划是整数规划中的特殊情形,它的变量仅可取值0或1,这时的变量xi称为0—1变量,或称为二进制变量。
0—1型整数规划中0—1变量作为逻辑变量(logical
variable),常被用来表示系统是否处于某一特定状态,或者决策时是否取某个方案。
一、0—1型整数规划的典型应用问题
例1:背包问题:一个登山队员,他需要携带的物品有:食品、氧气、冰镐、绳索、帐篷、照相器材、通信器材等。每种物品的重量合重要性系数如表所示。设登山队员可携带的最大重量为25kg,试选择该队员所应携带的物品。
重要性系数
解:引入0—1变量xi,&
xi=1表示应携带物品i,,xi=0表示不应携带物品I
上述问题就是一个标准的整数规划问题,解法。。。。。。。。
比较每种物品的重要性系数和重量的比值,比值大的物品首先选取,直到达到重量限制
解得:&&&&&&&
X*=(1,1,1,1,0,1,1)’&&&&&
例2:集合覆盖和布点问题
某市消防队布点问题。该市共有6个区,每个区都可以建消防站,市政府希望设置的消防站最少,但必须满足在城市任何地区发生火警时,消防车要在15min内赶到现场。据实地测定,各区之间消防车行驶的时间见表,请制定一个布点最少的计划。
解:引入0—1变量xi,&
xi=1表示在该区设消防站,,xi=0表示不设
解得:&&&&&&&
X*=(0,1,0,1,0,0)’&&&&&
二、特殊约束的处理
1.矛盾约束:建模时,有时会遇到相互矛盾的约束,而模型只能两者取一,例如下面两个约束
这时引入一个0-1变量y, 及一个很大的正数M,原式可化为:
y=0时,(1)与(3)相同,(4)自然满足,实际上不起作用
y=1时,(4)与(2)相同,(3)自然满足,实际上不起作用
对于形似 ,可以用以下一对约束代替
引入0—1变量后,约束可改为
2.多中选一的约束
模型希望在下列几个约束中,只能有一个约束有效:
引入n个0-1整数变量yi,
i=1,2,…,n.
则上式可改写为:
yi=0时,自然满足,此时约束实际上不起作用
yi=1时,(2)与(1)相同
而(3)式保证了在0—1整数变量中有一个且也只有一个取值1,其余取0值。若希望有k个约束有效,只需将(3)改为
三、隐枚举法求解小规模0-1规划问题
例1&&&&&&&
隐枚举法求解小规模0-1规划问题
解:(1)先用试探的方法找出一个初始可行解,如x1=1,x2=x3=0
则X0=(1,0,0)’&&&&&
(2)对原有约束增加一个过滤条件,加到原约束条件中
(3)再求解上述问题
按照枚举法得思路,依次检查各种变量得组合。每找到一个可行解,求出它的目标函数Z1,Z1>Z0,则将过滤条件换成Z1。
求解过程见下表,表中(1),(2),(3),(4)为原问题得约束条件,(5)为增加的过滤条件,“&”代表不满足约束,“√”代表满足条件,空格代表不需要计算。
这种对过滤条件的改进,可以减少计算量。
注:一般常重新排列xi的顺序使目标函数中xi的系数是递增(不减)的,在上例中,改写
因为-2,3,5是递增的,变量(x2,x1,x3)也按下述顺序取值:(0,0,0),(0,0,1)…,这样,最优解容易比较早的发现,再结合过滤条件的改进,更可使计算简化。
练习&& 隐枚举法求解小规模0-1规划问题
解:采用上例的方法解此例共需36次运算,为了进一步减少运算量,按目标函数中各变量系数的大小顺序重新排列各变量,以使最优解有可能较早出现。对于最大化问题,可按由小到大的顺序排列,最小化问题则相反。
本例可写为:
由于本题过滤条件不好选,所以开始不设过滤条件
(x2,x1,x4,x3)
此例的最优解X*=(0,1,1,1)’&&&&&
指派问题与匈牙利法
在现实生活中,有各种性质的指派问题(assignment&
problem)。指派问题也是整数规划的一类重要问题。例如:有n项工作需要分配给n个人(或部门)来完成;有n项合同需要选择n个投标者来承包;有n个班级需要安排在各教室上课等。诸如此类问题,它们的基本要求是在满足特定的指派要求条件下,使指派方案的总体效果最佳。
一、指派问题的数学模型
引入0-1变量xij ,
用cij表示第个人完成第项工作所需的资源数,称之为效率系数(或价值系数),因此指派问题的数学模型为
因此,指派问题是线性规划问题,同时也是一类特殊的运输问题。
二、匈牙利法的基本原理
效率矩阵:将指派问题中的效率系数cij排成一个n&n矩阵,称为效率矩阵。
定理1:设指派问题的效率矩阵为C,若将该矩阵的某一行(或列)的各个元素都减去同一常数t(t可正可负),得到新的矩阵C’,则以C’为效率矩阵的新指派问题与原指派问题的最优解相同,但其最优值减少t。
推论1:若指派问题效率矩阵每一行及每一列分别减去各行及各列的最小元素,则得到的新指派问题与原指派问题有相同的最优解。
定义1:在效率矩阵C中,有一组处在不同行不同列 的零元素,称为独立零元素组,此时其中每个零元素称为独立零元素。
则 是一个独立零元素组, 也是一个独立零元素组。
再将n&n个决策变量xij也排成一个n&n矩阵
,称为决策变量矩阵,即&&
根据以上分析,对C中出现独立零元素的位置,再X中令xij=1,其余取0值,就是指派问题的一个最优解,如上例
和 都是最优解。
但在有的问题中发现效率矩阵中独立零元素得个数不到n个,这样就无法求到最优指派方案,需要作进一步的分析,首先给出下述定理。
定理2:效率矩阵C中独立零元素的最多个数等于能覆盖所有零元素的最小直线数。
已知效率矩阵C1,C2,C3如下
分别用最少的直线去覆盖各自矩阵中的零元素
可见C1至少需要4根,C2至少需要4根,C3最少需要5根,因此它们的独立零元素个数分别为4,4,5。
三、匈牙利法求解步骤
已知指派问题的效率矩阵如下,求解指派问题
解:第一步:变换效率矩阵,使指派问题的系数矩阵经过变换,在各行各列中都出现0元素。具体作法是:先将效率矩阵的各行减去该行的最小非0元素,再从所得系数矩阵中减去该列的最小非0元素。
这样得到的新矩阵中,每行每列都必然出现零元素。
第二步:用圈0法求出矩阵C1中的独立零元素。
经第一步变换后,系数矩阵中每行每列都已有了独立零元素;但需要找出n个独立的0元素。若能找出,就以这些独立0元素对应的决策变量矩阵中的元素为1,其余为0,就得到了最优解。
当n较小时,可用观察法、试探法去找出n个独立0元素;若n较大时,就必须按照一定的步骤去找,常用的步骤为:
从只有一个0元素的行(或列)开始,给这个0元素加圈,记作◎。这表示对这行所代表的人,只有一种任务可指派,然后划去◎所在列(行)的其他元素,记作ф,这表示这列所代表的任务已指派完,不必再考虑别人了。
(2)&& 给只有一个0元素列(行的)
0元素加圈,记作◎。然后划去◎所在行(列)的其他元素,记作ф。
反复进行(1),(2)两步,直到每一列都没有未被标记的0元素或至少有两个未被标记的0元素时止。
这时可能出现3种情形:
(1)&& 每一行均有圈零出现,圈0的个数m=n。
存在未标记过的0元素,但它们所在的行和列中,未标记过的0元素均至少有两个。
不存在未被标记过的0元素,但圈0的个数m<n。
第三步:进行试指派
若情况(1)出现,则可进行指派:令圈0位置的决策变量取值为1,其它决策变量的取值均为0,得到一个最优指派方案,停止计算。
本例中得到C2后,出现了情况(1),可令x14=x22=x31=x43=1,其余xij=0。即为最佳指派方案。
若情况(2)出现,则再对每行,每列中有两个未被标记过的0元素任选一个,加上标记,即圈上该0元素。然后给同行、同列的其他未被标记的0元素加标记“&”。然后再进行行、列检验,可能出现(1)或(3)。
若出现(3),则要转入下一步。
第四步:作最少直线覆盖当前所有的0元素(以例题说明)
例2& 某5&5指派问题效率矩阵如下,求解该指派问题。
解:对C进行行、列变换,减去各行各列最小元素
用圈0法对C1进行行列检验,得到
可见C2中没有未被标记过的0元素,但圈0的个数m<n,出现情况(3)。现在独立0元素的个数少于n,不能进行指派,为了增加独立0元素的个数,需要对矩阵C2进行进一步的变换,变换步骤如下:
对C2中所有不含圈0元素的行打√,如第5行
对打√的行中,所有0元素所在列打√,如第1列
对所有打√列中圈0元素所在行打√,如第3行
重复上述(2),(3)步,直到不能进一步打√为止
对未打√的每一行划一直线,如1,2,4行,对已打√的列划一纵线,
如第1列,即得到覆盖当前0元素的最少直线数。见C3
第5步:对矩阵C3作进一步变换,增加0元素
在未被直线覆盖过的元素中找出最小元素,将打√行的各元素减去这个最小元素,将打√列的各元素加上这个最小元素(以避免打√行中出现负元素),这样就增加了0元素的个数。
对C3进行变换,最小元素为2,对打√的第3,5行各元素都减去2,对打√的第1列各元素都加上2,得到矩阵C4
第6步:对已增加了0元素的矩阵,再用圈0法找出独立0元素组。
即回到第2步,对C4进行检验及列检验,直到圈0的个数m=n时止。
本题对C4再用行列检验后为:
令决策变量矩阵中x12=x24=x35=x43=x51=1,其余xij=0
四、非标准形式的指派问题
1.最大化指派问题
设最大化指派问题系数矩阵C=(cij)n&n中最大元素为m,令矩阵B=(bij)n&n,bij=m-cij,则以B为系数矩阵的最小化指派问题和以C为系数矩阵的原最大化问题有相同最优解。
2.人数和事数不等的指派问题
若人多事少,则添上一些虚拟的“人”,费用系数取0,理解为这些费用实际上不会发生。反之,添上一些虚拟的“事”,费用系数同样取0。
3.一个人可做几件事的指派问题
将该人化作相同的几个“人”来指派。这几个人作同一件事的费用系数都一样。
4.某事一定不能由某人做的指派问题
此时将相应的费用系数取作足够大的数M。
有4种机械要分别装在4个工地,它们在4个工地的工作效率不同,问应如何指派安排,才能使4台机械发挥总的效率最大?效率表如下:
由表知:maxcij=c42=43
bij=43-cij
增0,打√行减1,打√列加1
令x13=x24=x31=x42=1,其余取0,得到最佳指派方案。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。大家都在搜:
扫描二维码安装房天下APP
手机浏览器访问房天下
> > 问题详情
求高手解VB题,小弟跪谢了
求高手解VB题,小弟跪谢了1、关于函数和子过程错误的叙述为:A、模块级的过程使用Private;B、全局级的过程可以省略Public;C、全局级的过程使用Public;D、模块级的过程可以省略Public。2、对于Visual Basic的循环语句,下列正确的说法是:A、Do While…Loop循环的循环体至少被执行一次;...
求高手解VB题,小弟跪谢了1、关于函数和子过程错误的叙述为:A、模块级的过程使用Private;B、全局级的过程可以省略Public;C、全局级的过程使用Public;D、模块级的过程可以省略Public。2、对于Visual Basic的循环语句,下列正确的说法是:A、Do While…Loop循环的循环体至少被执行一次;B、Do Until…Loop循环的循环体至少被执行一次;C、Do…Loop Until循环的循环体至少被执行一次;D、While…Wend循环的循环体至少被执行一次。3、一个工程文件中有多个窗体,VB运行时指定为启动窗体的是()。A、窗体;B、From1窗体;C、Form窗体;D、个设计的窗体。4、设菜单项名称为M,若想运行时是该菜单项变为灰色(失效),应使用语句为A、M.Enabled=False;B、M.Enabled=True;C、M.Visible=False;D、M.Visible=True。5、能将文件“aa.dat”改名为“bb.txt”的代码为A、Rename
“aa.dat”
“bb.txt” ;B、Name
“aa.dat”
“bb.txt”;C、Rename
“aa.dat”
“bb.txt”;D、Name
“aa.dat”
“bb.txt”。6、为了添加ComboBox控件中的项目,需要使用的方法为A、Add B、Remove C、AddItem D、RemoveItem 7、能是窗体隐藏但仍存在于内存的方法为A、Hide B、Show C、Unload D、Open 8、双击命令按钮、窗体、标签、图片、时钟控件的任何地方,可以打开的窗口是______。A、代码窗口 B、工程资源管理器器窗口 C、属性窗口 D、窗体布局窗口 9、在使用Open语句打开文件时,若省略“For方式”,则打开的文件存取方式为A、随机存取方式
B、顺序输入 C、顺序输出 D、二进制方式 10、下列关于变量作用域由小到大的正确顺序为下列关于变量作用域由小到大的正确顺序为A、局部变量、窗体变量、全局变量 B、窗体变量、局部变量、全局变量 C、局部变量、全局变量、窗体变量 D、窗体变量、全局变量、局部变量 11、对于过程Sub SSS(x,y,z),下列参数都以传址方式进行的调用为A、Call
SSS(3,5,z) B、Call
SSS(x+3,y+5,z) C、Call
SSS(x,y,z) D、Call
SSS(x+y,x-y,z) 12、A、Call
SSS(3,5,z) B、Call
SSS(x+3,y+5,z) C、Call
SSS(x,y,z) D、Call
SSS(x+y,x-y,z) 14、启动Visual Basic后, VB为用户建立的个窗体是()。(1分) A、Form1 B、Form C、窗体1 D、窗体 15、下面关系运算中,输出结果为“True”的是()。(1分) A、&1& + 2 = &12& B、&1& + &2& = &3& C、&1& & 2 = &12& D、&1& & &2& = &3& 16、Timer控件决定该控件是否对时间的推移做响应的属性是(1分) A、Enabled B、Visible C、Time D、Capable 17、某选拔身高T超过1.7米且体重W小于52.5公斤的学员,能正确表示该条件的布尔表达式是(1分) A、T >= 1.7 And W <= 52.5 B、T <= 1.7 Or W >= 52.5 C、T > 1.7 And W < 52.5 D、T > 1.7 Or W < 625 18、如果VB环境中缺少某个窗口,一般应从主菜单(
)的下拉菜单中找到相应的激活命令。(1分) A、编辑 B、文件 C、调试 D、视图 19、对于如下结构的循环:
Do While 条件 : 循环体 :
Loop,则下列正确的叙述为:
。(1分) A、如果“条件”为常数0,则一次循环体也不执行; B、如果“条件”为常数-1,则一次循环体也不执行; C、如果“条件”为常数-1,则只执行一次循环体; D、如果“条件”为常数0,则执行无限次循环体。 20、当组合框的Style属性设置为1时,其表现形式为(1分) A、下拉列表框 B、下拉组合框 C、简单组合框 D、文本框 二、写出下面的源程序 1、将一个一维数组a(9)中各元素值按行的顺序放入二维数组b(3×3)2、3、已知一个学生信息的文本文件为student.dat,学生信息包括:姓名(字符型)专业(字符型)年龄(整型)分数(整型)编写程序,查找姓名为“军”的学生并输出其记录。3、编写程序,用普通迭代法求方程f(x)=x+lnx-1.7=0的近似实根r,迭代初值为1.5,到0.0001。〔提示:必须把方程f(x)=0化成其等价形式x=g(x)〕。(允许使用其他迭代法)4、在输入代码时,如何从属性列表和方法列表中快速输入属性及方法? 5、自由类型数组的作用是什么?6、语句Print String(30,”*”)的功能用循环如何实现?7、顺序结构的特点是什么?
浏览次数:0
一、1.B2.C3.D4.A5.D6.C7.A8.A9.A10.A11.12.13.14.D15.C16.A17.C18.D19.A20.D二、1.Dim a(8) As IntegerDim b(2, 2) As IntegerDim i As Integer, j As Integer, k As IntegerFor i = 0 To 2
For j = 0 To 2
一、1.B2.C3.D4.A5.D6.C7.A8.A9.A10.A11.12.13.14.D15.C16.A17.C18.D19.A20.D二、1.Dim a(8) As IntegerDim b(2, 2) As IntegerDim i As Integer, j As Integer, k As IntegerFor i = 0 To 2
For j = 0 To 2
b(i, j) = a(k)
Debug.Print b(i, j)
Next jNext i2.为了方便可以先自定义类型在mod中写入public type student sName as stringzhuanye as stringage as integerscore as integerend type用open打开文件用line一行一行读取splite分割空格取姓名
XXXdebug.print 输出其他的自己查书学编程重要的就是多练
不知道下面这条知识能否帮助到您
如今的户型真是千奇百怪,各种户型都有,有的业主碰到了入户门直对卫生间的户型,听人说住这样的户型会破财,但又不知道该如何化解,本文就和大家一起来探讨下这个问题。
请教民间高手:入户门直对卫生间怎么办?
手机动态登录
请输入用户名/邮箱/手机号码!
请输入密码!
没有房天下通行证,
ask:6,asku:0,askr:12,askz:15,askd:12,RedisW:0askR:1,askD:52 mz:nohit,askU:0,askT:0askA:54
Copyright &
北京拓世宏业科技发展有限公司
Beijing Tuo Shi Hong Ye Science&Technology Development Co.,Ltd 版权所有
违法信息举报邮箱:}

我要回帖

更多关于 一元二次方程的解法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信