【MATLAB】线性规划问题中的绝对值问题

这篇具有很好参考价值的文章主要介绍了【MATLAB】线性规划问题中的绝对值问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述

在求解线性规划问题中碰到绝对值的情况:

m i n z = ∣ x 1 ∣ + 2 ∣ x 2 ∣ + 3 ∣ x 3 ∣ + 4 ∣ x 4 ∣ , min z=|x_1|+2|x_2|+3|x_3|+4|x_4|, minz=x1+2∣x2+3∣x3+4∣x4,
s . t . { x 1 − x 2 − x 3 + x 4 = 0 , x 1 − x 2 + x 3 − 3 x 4 = 1 , x 1 − x 2 − 2 x 3 + 3 x 4 = − 1 2 , s.t. \left\{ \begin{aligned} &x_1-x_2-x_3+x_4 & = & 0,\\ &x_1-x_2+x_3-3x_4 & = & 1,\\ &x_1-x_2-2x_3+3x_4 & = & -\frac{1}{2}, \end{aligned} \right. s.t. x1x2x3+x4x1x2+x33x4x1x22x3+3x4===0,1,21,


原因分析:

我们想用matlab的linprog函数进行求解,需要将其转化成为matlab中线性规划的标准形式
【MATLAB】线性规划问题中的绝对值问题

但是,对于绝对值的出现,导致我们无法轻易进行转换。


解决方案:

由于绝对值阻碍了我们的转换,因此解决问题的主要思路便是去绝对值,再转换成标准形式后进行求解。

绝对值转换

目标:去除绝对值,且使得相应的变量的范围全部大于0;
要点: ∀ x i ∈ R   ;   u i , v i ≥ 0 \forall x_i \in R \ ;\ u_i,v_i \geq 0 xiR ; ui,vi0 满足以下条件

x i = u i − v i , ∣ x i ∣ = u i + v i x_i=u_i - v_i , \left\lvert {x_i} \right\rvert=u_i + v_i xi=uivi,xi=ui+vi

对于分解的过程,取 u i = x i + ∣ x i ∣ 2 , v i = ∣ x i ∣ − x i 2 u_i=\frac{x_i+\left\lvert {x_i} \right\rvert}{2},v_i=\frac{\left\lvert {x_i} \right\rvert - x_i}{2} ui=2xi+xi,vi=2xixi

因此,上述目标函数在去除绝对值之后为:

m i n z = u 1 + v 1 + 2 ( u 2 + v 2 ) + 3 ( u 3 + v 3 ) + 4 ( u 4 + v 4 ) , min z=u_1 + v_1+2(u_2+ v_2)+3(u_3 + v_3)+4(u_4 + v_4), minz=u1+v1+2(u2+v2)+3(u3+v3)+4(u4+v4),
s . t . { ( u 1 − v 1 ) − ( u 2 − v 2 ) − ( u 3 − v 3 ) + ( u 4 − v 4 ) = 0 , ( u 1 − v 1 ) − ( u 2 − v 2 ) + ( u 3 − v 3 ) − 3 ( u 4 − v 4 ) = 1 , ( u 1 − v 1 ) − ( u 2 − v 2 ) − 2 ( u 3 − v 3 ) + 3 ( u 4 − v 4 ) = − 1 2 , s.t. \left\{ \begin{aligned} &(u_1 - v_1) -(u_2 - v_2)-(u_3 - v_3)+(u_4 - v_4)& = & 0,\\ &(u_1- v_1 )-(u_2 - v_2)+(u_3 - v_3)-3(u_4 - v_4)& = & 1,\\ &(u_1 - v_1) -(u_2 - v_2)-2(u_3 - v_3)+3(u_4 - v_4) & = & -\frac{1}{2}, \end{aligned} \right. s.t. (u1v1)(u2v2)(u3v3)+(u4v4)(u1v1)(u2v2)+(u3v3)3(u4v4)(u1v1)(u2v2)2(u3v3)+3(u4v4)===0,1,21,
成功去除绝对值,后续根据matlab中线性规划的标准形式 分别求解出 f T , A , B , A e q , B e q , l b , u b f^T,A,B,Aeq,Beq,lb,ub fT,A,B,Aeq,Beq,lb,ub
本题的matlab代码如下:

clc,clear
c=1:4;
c=[c,c]';
aeq=[1 -1 -1 1; 1 -1 1 -3; 1 -1 -2 3;];
beq=[0 1 -1/2];
aeq=[aeq,-aeq];
[uv,val]=linprog(c,[],[],aeq,beq,zeros(8,1));
x=uv(1:4)-uv(5:end)

最终求得最优结果为:
x 1 = 0.25 ; x 2 = 0 ; x 3 = 0 ; x 4 = − 0.25 ; v a l = 1.25 x_1 =0.25 ;x_2= 0; x_3 =0 ; x_4 = -0.25; val = 1.25 x1=0.25;x2=0;x3=0;x4=0.25;val=1.25文章来源地址https://www.toymoban.com/news/detail-406948.html

到了这里,关于【MATLAB】线性规划问题中的绝对值问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器人中的数值优化(十二)——带约束优化问题简介、LP线性规划

       本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会

    2024年02月09日
    浏览(43)
  • 数模3—Matlab线性规划、非线性规划、多目标规划(超全解法合集)

    线性规划,非线性规划,多目标规划都归于优化类模型 🎐例题 张麻子既要攻碉楼又要追替身,他们一伙6人,总共1200发子弹;每有一人攻碉楼会给百姓带来40点士气值,每有一人追替身会给百姓带来30点士气值;攻碉楼每人需240发子弹,追替身每人需120发。 问攻碉楼和追替身各

    2023年04月19日
    浏览(33)
  • MATLAB 非线性规划

    ✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 非线性规划问题 仍是规划问题的一种,但是

    2024年02月05日
    浏览(35)
  • 数学建模| 线性规划(Matlab)

    线性规划:约束条件和目标函数都是线性的。简单点说,所有的决策变量在目标函数和约束条件中都是一次方。 Matlab函数: 参数解释: func 表示目标函数。 A 表示不等式约束条件系数矩阵,b 表示不等式约束条件常数矩阵。 Aeq 表示等式约束条件系数矩阵,beq 表示等式约束条

    2024年02月07日
    浏览(32)
  • MATLAB-数学建模-线性规划-1

    目录 1.1  线性规划模型的一般形式: 1.2  线性规划模型          minz=f(x)         s.t.     (i=1,2,···,m) 1和2组成的模型属于约束优化  f(x)称为目标函数,称为约束条件   决策变量 、 目标函数 、 约束条件 构成了线性规划的3个基本要素 min    u=cx s.t.      Ax b        

    2024年02月09日
    浏览(32)
  • 优化模型:MATLAB非线性规划

    1.1 非线性规划的定义 非线性规划(Nonlinear Programming,NLP) 是一种数学规划方法,用于解决含有非线性目标函数和/或非线性约束条件的优化问题。它是线性规划的一种扩展形式,更加广泛适用于复杂实际问题。 非线性规划的目标是最小化(或最大化)一个非线性目标函数,

    2024年02月04日
    浏览(30)
  • 整数线性规划实现(matlab分枝界定法)

    文章目录 一、本次问题 1.利用第一天所学知识求解: 2.本题理解: (1)分支界定法 背景: 基本理论(解题步骤): 求解实现1: 1.第一步 2.第二步 3.第三步 4.第四步 结论:综上,最优解:x1 = 4 ,x2 = 2 ;最优值:340  求解实现2: 结果2:最优解:x1 = 4 ,x2 = 2 ;最优值:

    2024年02月05日
    浏览(22)
  • Matlab线性规划函数linprog-小白详解

    最近开始想学一学数学建模的相关知识,也找了不少视频,感觉无论是PPT做的还是讲解内容没有看起来很舒服的,只能多找几个版本多看几遍然后做一下笔记,先从最基础的线性规划函数开始写。 假设需要解决以下这个线性规划问题 m a x z = 2 x 1 + 3 x 2 − 5 x 3 s . t . { x 1 + x

    2024年02月06日
    浏览(38)
  • 数学建模| 非线性规划(Matlab)

    非线性规划:约束条件和目标函数存在非线性函数。简单点说,约束条件和目标函数中至少一个决策变量不是一次方,例如三角函数、对数、多次方等。 线性规划和非线性在解决上的不同:线性规划可以有通用方法,但是非线性规划的求解是没有特定算的,只能用近似的算法

    2024年02月07日
    浏览(36)
  • 线性规划问题及单纯形法-线性规划变标准形

    线性规划模型的标准形式 (1)目标函数为求极大值 (2)所有功能约束条件(非负条件除外),都是等式 (3)右端常数项为非负 (4)决策变量为非负 标准形转换方法 (1)目标函数值的转换 即在原有目标函数值前面加一个符号,当求出结果后,结果乘以一个负号。 (2)

    2024年02月06日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包