2010年国赛高教杯数学建模C题输油管的布置解题全过程文档及程序

2010年国赛高教杯数学建模

C题 输油管的布置

  某油田计划在铁路线一侧建造两家炼油厂,同时在铁路线上增建一个车站,用来运送成品油。由于这种模式具有一定的普遍性,油田设计院希望建立管线建设费用最省的一般数学模型与方法。
  1. 针对两炼油厂到铁路线距离和两炼油厂间距离的各种不同情形,提出你的设计方案。在方案设计时,若有共用管线,应考虑共用管线费用与非共用管线费用相同或不同的情形。
  2. 设计院目前需对一更为复杂的情形进行具体的设计。两炼油厂的具体位置由附图所示,其中A厂位于郊区(图中的I区域),B厂位于城区(图中的II区域),两个区域的分界线用图中的虚线表示。图中各字母表示的距离(单位:千米)分别为a = 5,b = 8,c = 15,l = 20。
在这里插入图片描述
  若所有管线的铺设费用均为每千米7.2万元。 铺设在城区的管线还需增加拆迁和工程补偿等附加费用,为对此项附加费用进行估计,聘请三家工程咨询公司(其中公司一具有甲级资质,公司二和公司三具有乙级资质)进行了估算。估算结果如下表所示:
在这里插入图片描述
  请为设计院给出管线布置方案及相应的费用。
  3. 在该实际问题中,为进一步节省费用,可以根据炼油厂的生产能力,选用相适应的油管。这时的管线铺设费用将分别降为输送A厂成品油的每千米5.6万元,输送B厂成品油的每千米6.0万元,共用管线费用为每千米7.2万元,拆迁等附加费用同上。请给出管线最佳布置方案及相应的费用。

整体求解过程概述(摘要)

  “输油管的布置”数学建模的目的是设计最优化的路线,建立一条费用最省的输油管线路,但是不同于普遍的最短路径问题,该题需要考虑多种情况,例如,城区和郊区费用的不同,采用共用管线和非公用管线价格的不同等等。我们基于最短路径模型,对于题目实际情况进行研究和分析,对三个问题都设计了合适的数学模型做出了相应的解答和处理。
  问题一:此问只需考虑两个加油站和铁路之间位置的关系,根据位置的不同设计相应的模型,我们基于光的传播原理,设计了一种改进的最短路径模型,在不考虑共用管线价格差异的情况下,只考虑如何设计最短的路线,因此只需一个未知变量便可以列出最短路径函数;在考虑到共用管线价格差异的情况下,则需要建立2个未知变量,如果带入已知常量,可以解出变量的值。
  问题二:此问给出了两个加油站的具体位置,并且增加了城区和郊区的特殊情况,我们进一步改进数学模型,将输油管路线横跨两个不同的区域考虑为光在两种不同介质中传播的情况,输油管在城区和郊区的铺设将不会是直线方式,我们将其考虑为光在不同介质中传播发生了折射。在郊区的路线依然可以采用问题一的改进最短路径模型,基于该模型,我们只需设计2个变量就可以列出最低费用函数,利用Matlab和VC++ 都可以解出最小值,并且我们经过多次验证和求解,将路径精度控制到米,费用精度控制到元。
  问题三:该问的解答方法和问题二类似,但是由于A管线、B管线、共用管线三者的价格均不一样,我们利用问题二中设计的数学模型,以铁路为横坐标,城郊交汇为纵坐标建立坐标轴,增加了一个变量,建立了最低费用函数,并且利用VC++解出了最低费用和路径坐标。

模型假设:

  1、管道均以直线段铺设,不考虑地形影响。
  2、不考虑管道的接头处费用。
  3、不考虑施工之中的意外情况,所有工作均可顺利进行。
  4、共用管线的价格如果和非公用管线不一致,则共用管线价格大于任意一条非公用管线价格,小于两条非公用管线价格之和。

问题分析:

  问题一:要考虑有和没有共用管线,还要考虑共用管线与非共用管线费用相同和不同两种情况。同时还要考虑两个工厂是否在铁路的同一侧,如果两个工厂在铁路的同一侧那么一定没有共用管线。 不在铁路的同一侧那么就要考虑有和没有共用管线这个问题。计算共用管线的长度时,用光学原理,把一个工厂当作光源发射一束光经过一个平面的反射通过另一个工厂,这样能够保证路线最短。这个平面与铁路的距离即为共用管线的长度。同时与这个平面的交点就是两厂的管线的交点。当共用管线与非共用管线费用不相同时可以通过建立方程组来解答。
  当共用管线与非共用管线费用不相同时要建立方程组来计算其最小费用从而来确定方案的可行性,共用管线与非共用管线长度作为变量来控制总费用,那么我们就可以列出一个方程组,从而在变量的约束条件下可以确定最小费用。
  问题二:把这个问题分两部分来考虑,即市区和郊区分两个部分,火车站建立在郊区费用要小得多,郊区共用管线与非共用管线的费用相同所以可以用最短路径的方法来考虑,同时又要求费用最小,可以解出最低费用及对应的铺设线路。
  问题三:通过建立坐标系设两个点的坐标,同时也是表达管线的长度,然后再与各自的费用之积确定总的费用,从而算出两点的坐标值。即确定了管线的路线。

模型的建立与求解整体论文缩略图

在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:

%解方程组
syms x y b l a m n 
[x,y]=solve('x/((x^2+(y-a)^2)^(1/2))+(x-l)/(((x-l)^2+(y-b)^2)^(1/2))=0','m*((y-a)/((x^2+(y-a)^2)^(1/2))+(y-b)/(((x-l)^2+(y-b)^2)^(1/2)))+n=0','x,y');
pretty(simple(x))
pretty(simple(y))
%铺设管路长度
syms m n a b l
x =-1/4/(-4*m^2+n^2)*(-8*a*m^2+8*b*m^2-2*n^2*b+2*n^2*a+2*(4*m^2*l^2*n^2-l^2*n^4)^(1/2))*l/(-1/2/(-4*m^2+n^2)*(-8*a*m^2+8*b*m^2-2*n^2*b+2*n^2*a+2*(4*m^2*l^2*n^2-l^2*n^4)^(1/2))+a-b)
 y =a-1/4/(-4*m^2+n^2)*(-8*a*m^2+8*b*m^2-2*n^2*b+2*n^2*a+2*(4*m^2*l^2*n^2-l^2*n^4)^(1/2))
d=(x^2+(a-y)^2)^(1/2)+((l-x)^2+(b-y)^2)^(1/2)+y
pretty(simple(d))
syms m n a b l 
x=-1/4/(n^2-4*m^2)*(-8*m^2*a+8*m^2*b+2*n^2*a-2*n^2*b-2*(4*m^2*l^2*n^2-l^2*n^4)^(1/2))*l/(-1/2/(n^2-4*m^2)*(-8*m^2*a+8*m^2*b+2*n^2*a-2*n^2*b-2*(4*m^2*l^2*n^2-l^2*n^4)^(1/2))+a-b)
 y=a-1/4/(n^2-4*m^2)*(-8*m^2*a+8*m^2*b+2*n^2*a-2*n^2*b-2*(4*m^2*l^2*n^2-l^2*n^4)^(1/2))
 f=(x^2+(a-y)^2)^(1/2)+((l-x)^2+(b-y)^2)^(1/2)+y
 pretty(simple(f))
%铺设管路所需费用
syms m n a b l
x =-1/4/(-4*m^2+n^2)*(-8*a*m^2+8*b*m^2-2*n^2*b+2*n^2*a+2*(4*m^2*l^2*n^2-l^2*n^4)^(1/2))*l/(-1/2/(-4*m^2+n^2)*(-8*a*m^2+8*b*m^2-2*n^2*b+2*n^2*a+2*(4*m^2*l^2*n^2-l^2*n^4)^(1/2))+a-b)
 y =a-1/4/(-4*m^2+n^2)*(-8*a*m^2+8*b*m^2-2*n^2*b+2*n^2*a+2*(4*m^2*l^2*n^2-l^2*n^4)^(1/2))
e=m*(x^2+(a-y)^2)^(1/2)+m*((l-x)^2+(b-y)^2)^(1/2)+n*y
pretty(simple(e))
syms m a b l
 x=-1/4/(m^2-4*m^2)*(-8*m^2*a+8*m^2*b+2*m^2*a-2*m^2*b-2*(4*m^2*l^2*m^2-l^2*m^4)^(1/2))*l/(-1/2/(m^2-4*m^2)*(-8*m^2*a+8*m^2*b+2*m^2*a-2*m^2*b-2*(4*m^2*l^2*m^2-l^2*m^4)^(1/2))+a-b)
 y=a-1/4/(m^2-4*m^2)*(-8*m^2*a+8*m^2*b+2*m^2*a-2*m^2*b-2*(4*m^2*l^2*m^2-l^2*m^4)^(1/2))
 g=m*(x^2+(a-y)^2)^(1/2)+m*((l-x)^2+(b-y)^2)^(1/2)+n*y
 pretty(simple(g))
!目标函数Z最小;
min=7.2*(a+b+c+d)+21.424*d;
x1<15;
a^2=((x1)^2+(y1-5)^2);!a表示AP;
b^2=((x1-15)^2+(y1-y2)^2); !b表示PQ;
c=y1;   !c表示CP;
d^2=((15-20)^2+(y2-8)^2); !d表示QB;

LINGO9.0运行结果:
Local optimal solution found.
   Objective value:                              282.3143
   Total solver iterations:                            46


                       Variable           Value        Reduced Cost
                              A        6.294130          -0.4507570E-08
                              B        11.02638            0.000000
                              C        1.852935            0.000000
                              D        5.040020           0.2173971E-07
                             X1        5.450877            0.000000
                             Y1        1.852935           0.2237103E-07
                             Y2        7.366124            0.000000

                            Row    Slack or Surplus      Dual Price
                              1        282.3143           -1.000000
                              2        9.549123            0.000000
                              3        0.000000          -0.5719615
                              4        0.000000          -0.3264898
                              5        0.000000           -7.200000
                              6        0.000000           -2.839671
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/893129.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python零基础01——Python的由来,Python的特点、优缺点有哪些?

文章目录 Python的由来Python的特点Python的优缺点什么是编译器 Python的由来 1989年圣诞节期间&#xff0c;在阿姆斯特丹为打发圣诞节的无趣&#xff0c;决定开发一款新的脚本解释语言&#xff0c;作为ABC语言的一种继承&#xff0c;然后他就这么做了&#xff0c;并实现了&am…

Python中的help()函数:追踪错误并提供解决方案

引言 在Python编程中&#xff0c;help()函数是一个非常有用的内置工具&#xff0c;它能够提供关于模块、关键字、属性和方法等的详细信息。对于初学者来说&#xff0c;help()函数可以帮助他们理解代码的工作原理&#xff0c;快速查找文档&#xff0c;以及解决编程过程中遇到的…

<Linux> 线程安全

目录 文章目录 一、Linux线程互斥 1. 进程线程间的互斥相关背景概念 2. 互斥量mutex 3. 互斥量接口 初始化互斥量 动静态分配 销毁互斥量 互斥量加锁 互斥量解锁 4. 互斥量实现原理 5. 简单封装互斥量 二、可重入与线程安全 1. 概念 1.1 可重入 1.2 线程安全 2. 常见的线程不…

LLama 3.2 1B 和 3B:体型虽小,但威力强大!

MetaAI 刚刚推出了 Llama-3.2&#xff0c;这是一套新的模型&#xff0c;其中包括两个令人印象深刻的轻量级大型语言模型 (LLM)&#xff0c;分别具有 10 亿 (1B) 和 30 亿 (3B) 个参数&#xff0c;以及更大的视觉语言模型 (VLM)&#xff0c;分别具有 11B 和 90B 个参数。 取决于…

IT监控平台可视化:多维度展示助力运维效率提升

在信息化时代&#xff0c;IT设备的稳定性与业务的连续性紧密相连&#xff0c;任何细微的故障都可能给企业带来巨大的损失。因此&#xff0c;IT运维团队面临着前所未有的挑战&#xff0c;他们需要迅速、准确地识别和解决问题&#xff0c;以确保业务的平稳运行。而IT监控平台的可…

Django学习- ORM基础操作_创建数据

ORM操作&#xff1a; 管理器对象&#xff1a; 创建数据&#xff1a; Django shell 想要操作模型对象&#xff0c;首先我们需要把它引进Django shell中 >>> from bookstore.models import Book >>> b1 Book.objects.create(titleAI, pub清华大学出版社, pr…

Java | Leetcode Java题解之第478题在圆内随机生成点

题目&#xff1a; 题解&#xff1a; class Solution {Random random;double xc, yc, r;public Solution(double radius, double x_center, double y_center) {random new Random();xc x_center;yc y_center;r radius;}public double[] randPoint() {double u random.next…

基于机器学习与深度学习的贷款批准预测

1.项目背景 该数据集源自Kaggle的“Playground Series - Season 4, Episode 10”竞赛&#xff0c;是通过在贷款批准预测数据集上训练的深度学习模型生成的数据&#xff0c;旨在使用借款人信息预测贷款批准结果&#xff0c;它通过模拟真实贷款审批场景&#xff0c;帮助金融机构…

【Linux系统编程】环境基础开发工具使用

目录 1、Linux软件包管理器yum 1.1 什么是软件包 1.2 安装软件 1.3 查看软件包 1.4 卸载软件 2、Linux编辑器-vim 2.1 vim的概念 2.2 vim的基本操作 2.3 vim的配置 3、Linux编译器-gcc/g 3.1 gcc编译的过程​编辑​编辑​编辑 3.2 详解链接 动态链接 静态链接 4…

深度解析LMS(Least Mean Squares)算法

目录 一、引言二、LMS算法简介三、LMS算法的工作原理四、LMS算法的特点五、LMS算法的应用场景六、LMS算法的局限性七、总结八、进一步探讨 一、引言 自适应滤波器是一种动态调整其参数以适应变化环境的信号处理工具&#xff0c;广泛应用于噪声消除、信道均衡和系统识别等领域。…

Axure RP电商系统商城PC+app+后台买家卖端高保真原型模板及元件库

AxureRP电商商城PCapp后台买家卖端高保真原型模板本套包含三份原型图素材 APP买家端原型简介&#xff1a; 包含了用户中心、会员成长、优惠券、积分、互动社区、运营推广、内容推荐、商品展示、订单流程、订单管理、售后及服务等完整的电商体系功能架构和业务流程。 本模板由…

Rancher—多集群Kubernetes管理平台

目录 一、Rancher 简介1.1 Rancher 和 k8s 的区别 二、Rancher 安装及配置2.1 安装 rancher2.2 登录 Rancher 平台2.3 Rancher 管理已存在的 k8s 集群2.4 创建名称空间 namespace2.5 创建 Deployment 资源2.6 创建 service2.7 Rancher 部署监控系统 一、Rancher 简介 Rancher …

中国科学院大学与美团发布首个交互式驾驶世界模型数据集DrivingDojo:推进交互式与知识丰富的驾驶世界模型

中国科学院大学与美团发布首个交互式驾驶世界模型数据集DrivingDojo&#xff1a;推进交互式与知识丰富的驾驶世界模型 Abstract 驾驶世界模型因其对复杂物理动态的建模能力而受到越来越多的关注。然而&#xff0c;由于现有驾驶数据集中的视频多样性有限&#xff0c;其卓越的建…

uniapp学习(004-2 组件 Part.2生命周期)

零基础入门uniapp Vue3组合式API版本到咸虾米壁纸项目实战&#xff0c;开发打包微信小程序、抖音小程序、H5、安卓APP客户端等 总时长 23:40:00 共116P 此文章包含第31p-第p35的内容 文章目录 组件生命周期我们主要使用的三种生命周期setup(创建组件时执行)不可以操作dom节点…

我对软件工程的理解

1 引言 从事软件行业这么年&#xff0c;写了10年代码&#xff0c;又从事了多年的项目产品方面的工作&#xff0c;一些每天用到的软件工程的方法&#xff0c;虽然天天都在用但一些概念总感觉似是而非&#xff0c;正好借假期的时间&#xff0c;好好整理下&#xff0c;以供自己或…

【你也能从零基础学会网站开发】浅谈一下SQL Server 2000中的NULL值到底有什么用处

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;程序猿、设计师、技术分享 &#x1f40b; 希望大家多多支持, 我们一起学习和进步&#xff01; &#x1f3c5; 欢迎评论 ❤️点赞&#x1f4ac;评论 &#x1f4c2;收藏 &#x1f4c2;加关注 NULL 是什么 …

2d实时数字人聊天语音对话使用案例,对接大模型

参看: https://github.com/wan-h/awesome-digital-human-live2d 电脑环境: ubuntu 1060ti 下载: git clone https://github.com/wan-h/awesome-digital-human-live2d.gitdocker部署; cd awesome-digital-human-live2d docker-compose -f docker-compose-quickStart.ya…

Spring AI Java程序员的AI之Spring AI(一)

SpringAI 基础使用 前言Spring AIChatClientImageClientOpenAiAudioTranscriptionClientEmbeddingClient 总结 前言 Spring AI&#xff0c;听着名字就感觉很好使用&#xff0c;快速上手&#xff0c;虽然功能没有太完善&#xff0c;但是社区活跃度很高&#xff0c;可以看看源码…

大数据治理:构建数据驱动的智能决策体系

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

Edge论文的创新点

创新点及其来源 1. 从灰度边缘重建RGB图像的方法&#xff08;EdgRec&#xff09; 基于的方法&#xff1a;传统的重建方法&#xff0c;如使用自动编码器或生成模型来重建正常样本的图像&#xff0c;并通过对原始图像和重建图像的比较来检测异常。 重建过程&#xff1a; 训练阶…