Pipe Isometric Drawing and Linear Programming

管路单线图与线性规划

Pipe Isometric Drawing and Linear Programming

eryar@163.com

一、概述 Introduction

线性规划是运筹学的重要组成部分,也是最基本的部分。自1947年丹齐格(G.B.Dantzig)提出了求解线性规划的一般方法——单纯形法以来,实际上他提出单纯形法最早在第二次世界大战期间,有许多作者在线性规划领域做出了贡献,包括理论研究、算法及其应用。至今,线性规划在理论上趋向成熟,尤其是计算机处理问题的规模及运算速度提高后,线性规划的应用领域更加广泛,无论工业、农业、商业、交通运输、军事、经济计划和管理决策等领域都有应用。大到一个国家、一个地区,小到一个企业、一个车间、一个班组都有运用线性规划后提高经济效益的例子。

二、线性规划问题的数学模型 Math Model

l 每个问题都有一组变量——称为决策变量,一般记为:,对决策变量的每一组值:代表了一种决策方案,通常要求决策变量取非负值,即:

l 每个问题中都有决策变量需要满足的一组约束条件——线性等式或不等式;

l 都有一个关于决策变量的线性函数——称为目标函数,要求这个目标函数在满足约束条件下实现最大化或最小化。

将约束条件及目标函数都是决策变量的线性函数的规划问题称为线性规划,其一般数学模型为:

称为目标函数,或实现最大化或实现最小化。s.tsubject to的英文缩写,它表示“以……为条件”、“假定”、“满足”之意。

称为约束条件,它可以是不等式也可以是等式。所有变量都要求大于零是非负约束条件,它既是通常实际问题中对决策变更的要求,又是用单纯形法(Simplex)求解过程中的需要,有时也将线性规划问题简称为LPLinear Programming)问题。

三、线性规划的算法 Algorithm

美国数学家丹齐格(G.B.Dantzig)提出的单纯形法(Simplex)是求解线性规划问题的一种普遍而有效的算法。当单纯形法被精心实现时,在实际中通常能够快速地解决一般的线性规划。然而对于某些刻意仔细设计的输入,单纯形算法可能需要指数时间。线性规划的第一个多项式时间算法是椭圆算法,它在实际中运行缓和慢。第二类指数时间的算法称为内点法。与单纯形算法相比,这些算法在可行区域内部移动,中间解尽管是可行的,便未必是单纯形的顶点,但最终的解是一个顶点。对于大型输入,内点法的性能可与单纯形法相媲美,有时甚至更快。

四、编程的实现 Implementation

https://sourceforge.net/projects/中有些求解线性规划的开源项目。开源lp_solve项目https://sourceforge.net/projects/lpsolve/功能如下:

l 混合整数线性规划求解;

l 对模型大小无限制;

l 提供源程序并且是免费的;

l 有功能强大的API接口;

l 其它编程语言方便调用;

l ……

五、结论 Conclusion

在绘制无比例的管路单线图(Pipe Isometric Drawing)时,需要保持各连接部件的拓朴结构是个难点,如在单线图中保持真实模型中的回路。处理这类问题就可以使用线性规划的方法。因为对投影后的管线的长度调整可以确保这种回路约束依然成立,且便于后期符号的绘制使用统一的方法。可以把需要生成的图中的所有管子当成决策变量,并建立回路约束、最小管段长度约束等形成数学模型。通过单纯形法对数学模型进行求解,即可得到每段管子投影后适当的长度,使后期程序只需要将管子与其它符号连接上即可。

 

PDF Version: Pipe Isometric Drawing and Linear Programming

eryar@163.com

Pudongxin Shanghai China

2012-9-9

时间: 2024-10-29 02:45:35

Pipe Isometric Drawing and Linear Programming的相关文章

Pipe Isometric Drawing Symbol Keys

Pipe Isometric Drawing Symbol Keys 管路轴测图部件符号 eryar@163.com 一.概述 Introduction 每个部件在轴测图上都是用符号来表示的.根据国家标准GB/T6567中规定的绘制符号的基本原则摘抄几条如下: l 管路系统中常用的图形符号是按形象化.简化.清晰和便于计算机绘图.手工绘图及缩微复制等要求制订的: l 未作规定的管路系统中的图形符号可根据本标准的原则组合或派生: l 在应用时,图形符号的大小可适当地按比例放大或缩小: Key的中文字

Pipe Isometric Drawing --- Development

  Pipe Isometric Drawing 管子轴测图程序开发   下定决心,要做一个自己的出管子轴测图的程序.在网上查了一下,现在管子轴测图用得最广泛的几乎工业标准的出图程序是Alias 的ISOGEN,现在由Intergraph收购.ISOGEN是Intergraph的SmartPlant Isometrics和SmartPlant Spoolgen程序的核心技术.具体可参考:http://www.alias.ltd.uk/ISOGEN_main.asp. 很多工厂三维设计软件若要出管

Pipe Isometric Drawing Generated by IsoAlgo

The following Pipe Isometric Drawing is Generated by IsoAlgo:   Figure . Simple Pipe Isometric Drawing   Figure. Pipe Isometric Drawing with Skewed pipeline  

Pipe Isometric Drawing --- Project Transform

管路单线图开发之投影变换 Pipe Isometric Drawing --- Project Transform eryar@163.com   通过向量运算实现了从三维坐标到轴测投影的二维转换.当选择不同的投影方式时,产生不同的投影效果,分别如下所示: 一.西南投影图 SouthWest   二.东南投影图 SouthEast 三.东北投影 NorthEast 四.西北投影 NorthWest 五.结论      实现投影计算后,下一步实现各管路部件的符号表示.

Pipe Isometric Drawing

Pipe Isometric Drawing 管子轴测图 一.管子轴测图定义 管道的轴测图又叫系统图,就是从侧面或剖面来看一个系统或装置的图,一般用轴测图只是看管道走向,或设计标高之类,如果是民用建筑一般只有给排水又管道轴测图.如果是工业管道安装,就比较复杂, 要看阀门.法兰.管件的安装具体位置以及标高. 二.程序实现   三.一个不错的管子设计方面的网站: http://www.wermac.org/

Pipe Isometric Drawing Development – Math Functions

管路轴测图程序开发之数学函数 管路轴测图程序中主要用到了两个数学函数,用向量来计算真是太方便啦! 将直角坐标系下的一个向量转换为由任意三个向量组成的坐标系下的值: 计算一个向量与三个坐标轴的向量哪个更垂直: 我将这两个函数做成静态成员函数,方便调用,头文件定义如下: 1:  //------------------------------------------------------------------------------   2:  //    Copyright (c) 2012 

Add Page Number for Foran Pipe Spool Drawing

Add Page Number for Foran Pipe Spool Drawing eryar@163.com Abstract. Add page number for Foran pipe spool drawing generated by ISOM. The ISOM of Foran is used for spool drawing generation, but there is no number on the drawing, so use AutoLISP to wri

How to split piping isometric drawing automatically?

eryar@163.com   key words: IsoAlgo, Isogen, ISO-SPLIT-POINT, split automatically   当管道模型比较复杂时,生成的轴测图就会有重叠的现象,如何来消除重叠呢,一种有效的方式就是分图. Figure 1 Complex piping isometric drawing (Generated by IsoAlgo) 如上图所示,有几处尺寸标注或件号标注明显重叠,导致图面杂乱.在一些软件中有手动添加分图点的方式,强制分图.对

IsoAlgo Split Drawing Info

IsoAlgo split drawing info eryar@163.com   Abstract.  When the isometric drawing is splited by split point, it should mark the continue drawing info on the split point. You can also  config the "CONT. ON" by the config file.   Key words. IsoAlgo