意大利数学家Z.高津托

意大利伟大数学家Sire Zepartzatt Gozinto的生卒年代是一个谜[1],但是他发明的 “高筋图” 在 制造资源管理、物料清单(BOM)管理、智能阅读科学文献影响因子计算 等方面具有重要应用。

高津托图

下图是一个制造业物料需求高津托图,节点FP1、FP2分别表示最终产品的需求量,边上的数值表示组装部件所需要的上游零部件的数量,物料清单(BOM)系统需要知道所有零部件的总需求。图中:

Primary Demand(主需求) -- 市场对零部件的需求数量
Secondary Demand(次需求) -- 因产品组装产生的对零部件的需求
Total Demand(总需求)-- 以上两个需求之和
Product No. (产品(拓扑次序)编号)-- 根据组装约束对零部件产品进行拓扑排序的次序数

数学模型

设图中的零部件类型数为n,装配关系(边)数为m

设pd[i]为节点i的主需求(常量)
sd[i]为节点i的次需求(决策变量)
td[i]为节点i的总需求(被动变量)
pd[i]为节点i的产品拓扑次序编号(决策变量)

根据装配逻辑,对任何边k,如果边k的起始节点为a[k],终止节点为b[k],权值为c[k],则:

    sd[i]=sum{k=1,...,m;a[k]==i}(c[k]td[b[k]]) | i=1,...,n
td[i]=sd[i]+pd[i]|i=1,...,n

把零部件从装配上游到下游排序:

    pn[b[k]] >= pn[a[k]] + 1 | k=1,...,m
pn[i]>=1|i=1,...,n
pn[i]<=n|i=1,...,n

+Leapms模型:

min sum{i=1,...,n}pn[i]
subject to sd[i]=sum{k=1,...,m;a[k]==i}(c[k]td[b[k]]) | i=1,...,n
td[i]=sd[i]+pd[i]|i=1,...,n pn[b[k]] >= pn[a[k]] + 1 | k=1,...,m
pn[i]>=1|i=1,...,n
pn[i]<=n|i=1,...,n where
m,n are numbers
e,pd are sets
a[k],b[k],c[k] are numbers | k=1,...,m
sd[i],td[i] are variables of nonnegative numbers|i=1,...,n
pn[i] is a variable of nonnegative number|i=1,...,n data_relation
m=_$(e)/3
n=_$(pd)
a[k]=e[3k-2]|k=1,...,m
b[k]=e[3k-1]|k=1,...,m
c[k]=e[3k] |k=1,...,m
data
pd={150 50 20 230 0 0 0 0}
e={
3 1 1
4 1 2
4 2 3
4 3 3
4 5 2
5 2 4
6 3 4
6 4 5
7 4 3
7 5 1
8 5 2
}

求解:

+Leapms>load
Current directory is "ROOT".
.........
gozinto.leap
.........
please input the filename:gozinto
================================================================
1: min sum{i=1,...,n}pn[i]
2: subject to
3:
4: sd[i]=sum{k=1,...,m;a[k]==i}(c[k]td[b[k]]) | i=1,...,n
5: td[i]=sd[i]+pd[i]|i=1,...,n
6:
7: pn[b[k]] >= pn[a[k]] + 1 | k=1,...,m
8: pn[i]>=1|i=1,...,n
9: pn[i]<=n|i=1,...,n
10:
11: where
12: m,n are numbers
13: e,pd are sets
14: a[k],b[k],c[k] are numbers | k=1,...,m
15: sd[i],td[i] are variables of nonnegative numbers|i=1,...,n
16: pn[i] is a variable of nonnegative number|i=1,...,n
17:
18: data_relation
19: m=_$(e)/3
20: n=_$(pd)
21: a[k]=e[3k-2]|k=1,...,m
22: b[k]=e[3k-1]|k=1,...,m
23: c[k]=e[3k] |k=1,...,m
24: data
25: pd={150 50 20 230 0 0 0 0}
26: e={
27: 3 1 1
28: 4 1 2
29: 4 2 3
30: 4 3 3
31: 4 5 2
32: 5 2 4
33: 6 3 4
34: 6 4 5
35: 7 4 3
36: 7 5 1
37: 8 5 2
38: }
================================================================
>>end of the file.
Parsing model:
1D
2R
3V
4O
5C
6S
7End.
..................................
number of variables=24
number of constraints=43
..................................
+Leapms>solve
The LP is solved to optimal.
找到线性规划最优解.非零变量值和最优目标值如下:
.........
pn1*=4
pn2*=4
pn3*=3
pn4*=2
pn5*=3
pn6*=1
pn7*=1
pn8*=1
sd3*=150
sd4*=1360
sd5*=200
sd6*=8630
sd7*=4970
sd8*=400
td1*=150
td2*=50
td3*=170
td4*=1590
td5*=200
td6*=8630
td7*=4970
td8*=400
.........
Objective*=19
.........
+Leapms>

结果

参考文献

[1] Rousseau, R. . (1987). The gozinto theorem: using citations to determine influences on a scientific publication. Scientometrics, 11(3-4), 217-229.

制造业物料清单BOM、智能文档阅读、科学文献影响因子、"Celebrated Italian mathematician ZepartzatT Gozinto" 与 高津托图的更多相关文章

  1. Node.js的下载、安装、配置、Hello World、文档阅读

    Node.js的下载.安装.配置.Hello World.文档阅读

  2. 我的Cocos Creator成长之路1环境搭建以及基本的文档阅读

    本人原来一直是做cocos-js和cocos-lua的,应公司发展需要,现转型为creator.会在自己的博客上记录自己的成长之路. 1.文档阅读:(cocos的官方文档) http://docs.c ...

  3. 转:苹果Xcode帮助文档阅读指南

    一直想写这么一个东西,长期以来我发现很多初学者的问题在于不掌握学习的方法,所以,Xcode那么好的SDK文档摆在那里,对他们也起不到什么太大的作用.从论坛.微博等等地方看到的初学者提出的问题,也暴露出 ...

  4. Keras 文档阅读笔记(不定期更新)

    目录 Keras 文档阅读笔记(不定期更新) 模型 Sequential 模型方法 Model 类(函数式 API) 方法 层 关于 Keras 网络层 核心层 卷积层 池化层 循环层 融合层 高级激 ...

  5. Django文档阅读-Day1

    Django文档阅读-Day1 Django at a glance Design your model from djano.db import models #数据库操作API位置 class R ...

  6. Django文档阅读-Day2

    Django文档阅读 - Day2 Writing your first Django app, part 1 You can tell Django is installed and which v ...

  7. Django文档阅读-Day3

    Django文档阅读-Day3 Writing your first Django app, part 3 Overview A view is a "type" of Web p ...

  8. BOM,文档宽高及窗口事件小析

    (一)BOM:Browser Object Model(浏览器对象模型)页面上所有的变量都是window的属性 一.方法:1. open(,)打开一个新窗口(页面)一参为页面地址url,二参为打开方式 ...

  9. Silverlight类百度文库在线文档阅读器

    百度文库阅读器是基于Flash的,用Silverlight其实也可以做. 我实现的在线阅读器可以应用于内网文档发布,在线阅览审批等.没有过多的堆积功能,专注于核心功能.主要有以下特性: 1. 基于XP ...

随机推荐

  1. 【强连通分量】Bzoj1194 HNOI2006 潘多拉的盒子

    Description Sulotion 首先要对每对咒语机建图,判断机器a是否能生成所有机器b生成的 如果跑一个相同的串,最后结束的点b可输出a不可输出,判断就为否 大概就用这种思路,f[x][y] ...

  2. BZOJ_4870_[Shoi2017]组合数问题_矩阵乘法

    BZOJ_4870_[Shoi2017]组合数问题_矩阵乘法 Description Input 第一行有四个整数 n, p, k, r,所有整数含义见问题描述. 1 ≤ n ≤ 10^9, 0 ≤ ...

  3. 斜率优化入门学习+总结 Apio2011特别行动队&Apio2014序列分割&HZOI2008玩具装箱&ZJOI2007仓库建设&小P的牧场&防御准备&Sdoi2016征途

    斜率优化: 额...这是篇7个题的题解... 首先说说斜率优化是个啥,额... f[i]=min(f[j]+xxxx(i,j)) ;   1<=j<i (O(n^2)暴力)这样一个式子,首 ...

  4. kmspico_setup.exe运行提示系统资源不足,无法完成请求的服务

    在使用KMSpico激活office时,windows下运行exe会提示系统资源不足,无法完成请求的服务. 我的解决方法是:卸载电脑上的wps...

  5. 神奇的Scala Macro之旅(三)- 实际应用

    在上一篇中,我们示范了使用macro来重写 Log 的 debug/info 方法,并大致的介绍了 macro 的基本语法.基本使用方法.以及macro背后的一些概念, 如AST等.那么,本篇中,我们 ...

  6. Java进阶篇设计模式之七 ----- 享元模式和代理模式

    前言 在上一篇中我们学习了结构型模式的组合模式和过滤器模式.本篇则来学习下结构型模式最后的两个模式, 享元模式和代理模式. 享元模式 简介 享元模式主要用于减少创建对象的数量,以减少内存占用和提高性能 ...

  7. 基于CNN的人群密度图估计方法简述

    人群计数的方法分为传统的视频和图像人群计数算法以及基于深度学习的人群计数算法,深度学习方法由于能够方便高效地提取高层特征而获得优越的性能是传统方法无法比拟的.本文简单了秒速了近几年,基于单张图像利用C ...

  8. .net mvc + layui做图片上传(二)—— 使用流上传和下载图片

    摘要:上篇文章写到一种上传图片的方法,其中提到那种方法的局限性,就是上传的文件只能保存在本项目目录下,在其他目录中访问不到该文件.这与浏览器的安全性机制有关,浏览器不允许用户用任意的路径访问服务器上的 ...

  9. netty之NioEventLoopGroup源码分析二

    大家好,今天我准备死磕NioEventLoopGroup的源码,首先讲下概念,NioEventLoopGroup 它是一个线程池,存放NioEventLoop,一个数组,今天打算先看下这行代码的初始化 ...

  10. DataPipeline | PayPal庞姬桦:大数据在小微企业贷款上的运用

    庞姬桦女士毕业于北京大学和美国哥伦比亚大学,目前担任PayPal公司消费者风险管理总监,负责通过大数据实现对互联网金融风险的侦测.跟踪.管控和防范.在加入PayPal之前,曾任职于渣打银行(中国)和美 ...