搜档网
当前位置:搜档网 › LINGO8.0教程(宋杰鲲)

LINGO8.0教程(宋杰鲲)

LINGO8.0教程(宋杰鲲)
LINGO8.0教程(宋杰鲲)

运筹学软件系列之一

运筹学软件LINGO8.0教程

宋杰鲲

2004.12

1 LINGO8.0快速入门

LINGO是用来求解线性和非线性优化问题的一种简易工具。LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。

1.1LINGO8.0界面

当你在windows下开始运行LINGO系统时,会得到图1-1所示窗口:

图1-1 LINGO界面

外层是主界面窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGO Model–LINGO1的窗口是LINGO 的默认模型窗口,建立的模型都要在该窗口内编码实现。

1.2LINGO建模初步例1.1如何在LINGO中求解如下的LP问题。

Min z=2x1-2x2+3x3

-x1+x2+x3=4

-2x1+x2-x3≤6

s.t. x1≤0

0≤x2≤6

x3无约束

在模型窗口中输入如下代码:

max=2*x1-2*x2+3*x3;

-x1+x2+x3=4;

-2*x1+x2-x3<6;

x1<0;

@bnd(0,x2,6);

@free(x3);

然后点击工具条上的按钮即可。

计算6个发点8个收点的最小费用运输问题,产销单位运价如表1。

使用LINGO软件,编制程序如下:

model:

!6发点8收点运输问题;

sets:

warehouses/wh1..wh6/: capacity;

vendors/v1..v8/: demand;

links(warehouses,vendors): cost, volume;

endsets

!目标函数;

min=@sum(links: cost*volume);

!需求约束;

@for(vendors(J):

@sum(warehouses(I): volume(I,J))=demand(J));

!产量约束;

@for(warehouses(I):

@sum(vendors(J): volume(I,J))<=capacity(I));

!这里是数据;

data:

capacity=60 55 51 43 41 52;

demand=35 37 22 32 41 32 43 38;

cost=6 2 6 7 4 2 9 5

4 9

5 3 8 5 8 2

5 2 1 9 7 4 3 3

7 6 7 3 9 2 7 1

2 3 9 5 7 2 6 5

5 5 2 2 8 1 4 3;

enddata

end

然后点击工具条上的按钮即可。

2Lingo集合

对实际问题建模的时候,总会遇到一群或多群相互联系的对象,比如工厂、消费者群体、交通工具和雇工等等。LINGO允许把这些相联系的对象聚合成集合(sets)。一旦把对象聚合成集,就可以利用集来最大限度的发挥LINGO建模语言的优势。

2.1为什么使用集合

集合是LINGO建模语言的基础,是程序设计最强有力的基本构件。借助于集合,能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方便地表达规模较大的模型。从例1.2中,可以发现LINGO中集合(sets)的作用十分强大。

2.2集合的概念与分类

集合实质上就是相关物体的简单群体,一个集合可能是一组产品、一系列汽车或一群雇员。集合中的每个成员彼此之间都有相互联系的一个或多个特征,我们称这些特征为属性。属性值可以预先给定,也可以是未知的,有待于LINGO 求解。例如,一个产品集合中的每件产品都有一个价格属性,汽车集合中的每辆汽车都有一个载重属性,雇员集合中的每个雇员可能都有一个薪水属性或生日属性等。

LINGO集合可分为两类:基本集(private sets)和派生集(derived sets)。

基本集是指无法再约简的事物集合。在例 1.2中,包含六个货仓的集合warehouses就是一个基本集,包含八个销售商的vendors集也是一个基本集。

派生集是通过一个或多个其他集合定义的,换句话说,派生集中的成员来自于其它已存在的集合。在例1.2中,六个货仓和八个销售商之间联系的集合links 就是一个派生集,其成员来自于warehouses集和vendors集中的成员配对。

2.3LINGO集合组件

在一个LINGO模型中定义集合的部分,即以关键字“sets”开始,以“endsets”结束的部分,称为集合组件。LINGO模型中,要使用集合,必须先对其进行定义。当然,模型可能没有集合组件(如例1.1)、有一个集合组件或多个集合组件。集合组件可以出现在模型的任何地方,唯一应注意的就是在模型约束用到它之前,必须先定义该集合及其属性。

2.3.1定义基本集

定义集合组件中的基本集,应指明:集合名称;集合包含的成员(可选);要使用的集合成员的属性(可选)。

一个基本集的定义句法如下:

setname [/ member_list /] [: attribute_list];

方括号中的内容是可选的。

setname是要定义的集合名称,它应该是一个易记的描述性名字,以拉丁字母或下划线(_)为首字符,其后由拉丁字母(A—Z)、下划线、阿拉伯数字(0,1,…,9)组成的总长度不超过32个字符的字符串,且不区分大小写。

member_list是集合中含有的成员列表,当集合成员在该集合定义中时,可以显式列出或隐式列出;当集合成员不在集合定义中时,可在随后的模型的数据组件中列出。

(1)显式列出

显式列出指的是列出每个成员的名称,并用逗号或空格分开,也可混合使用,其名称也应符合命名规则。

例2.1可以定义一个名为students的原始集,它具有成员John、Jill、Rose 和Mike,属性有sex和age:

sets:

students/John Jill, Rose Mike/: sex, age;

endsets

(2)隐式列出

隐式列出则不必列出每个集合成员的名称,此时使用下列格式:

setname / member1..memberN / [: attribute_list];

member1表示集合第一个成员的名称,memberN表示集合第N个成员的名称,LINGO自动生成所有中间成员的名称。在例1.2中,使用的就是隐式列出。表2-1列出了隐式列出可用格式:

表2-1 集合元素隐式列出举例

合组件中应用该长度,即有:

data:

number_of_wh=6;

enddata

sets:

warehouses/1..number_of_wh/:capacity;

endsets

集合成员可能含有一个或多个属性,应在属性列表中列出,属性名称之间用逗号分开。

(3)集合成员不放在集合组件中,而在随后的数据组件内定义。

例2.2定义学生集合及其性别和年龄属性。

!集部分;

sets:

students:sex,age;

endsets

!数据部分;

data:

students,sex,age= John 1 16

Jill 0 14

Rose 0 17

Mike 1 13;

enddata

说明:开头用感叹号(!),末尾用分号(;)表示注释,可跨多行。

在集合组件内只定义了一个集合students,并未指定成员。在数据组件内罗列了集合成员John、Jill、Rose和Mike,并对属性sex和age分别给出了值。

2.3.2定义派生集

要定义派生集,需指明集合名称,父集,成员(可选)和成员属性(可选)。格式如下:

setname( parent_set_list) [ / member_list /] [: attribute_list];

其中,父集是先前定义的集合列表,用逗号分开。如果不指明成员列表,LINGO会自动创建父集成员的所有组合作为派生集的成员。派生集的父集既可以是基本集,也可以是其它的派生集。

例2.3考虑下面的集合组件:

sets:

product/A B/;

machine/M N/;

week/1..2/;

allowed(product,machine,week):x;

endsets

LINGO生成了三个父集的所有组合共八组作为allowed集的成员。列表如下:

编号成员

1 (A,M,1)

2 (A,M,2)

3 (A,N,1)

4 (A,N,2)

5 (B,M,1)

6 (B,M,2)

7 (B,N,1)

8 (B,N,2)

集合成员列表是可选的,当你想列出全部组合中的有限个,即其子集时,可以使用列出,此时的集合称为稀疏集。如果省略列出,则意味着成员包括了所有可能组合,省略时的集合称为紧密集。

同基本集的成员列表一样,派生集的成员列表也有明确列出和成员过滤两种列法。

(1)明确列出

顾名思义,明确列出就是详细列出所含成员,如针对上例:

allowed( product, machine, week) / A M 1, A N 2, B N 1/;

就表示allowed并不是包含8个成员,而是一个仅包含3个成员(A,M,1),(A,N,2)和(B,N,1)的稀疏集。

(2)成员过滤

如果你有一个大的稀疏集,要明确列出所有成员是很低效的。可幸的是,对多数稀疏集,其成员与非成员分开总要满足一定的条件,如果你能指明这一条件,将会节省大量的工作,这就是成员过滤的工作方法。使用成员过滤来定义派生集成员,要指明在最终集合中所含成员满足的逻辑条件。你可以将逻辑条件视为一个过滤器剔除不符合某个标准的成员。

给出一个成员过滤的示例。假设你已经定义了一个trucks集合,其中每辆车都有一个载重属性,你要从trucks中产生一个能承载大货件的子集,你可以使用明确列出方式,输入每一种能承载重货的汽车。然而,还可用一个如下的成员过滤作上述所有的工作:

heavy_duty( trucks) | capacity( &1) #GT# 50000:;

集合heavy_duty来自于父集trucks,竖线(|)表示成员过滤的开始,成员过滤要求:只有那些载重量(capacity(&1))超过(#GT#)50000的汽车才能进入集合heavy_duty中。过滤器中符号&1表示一个集合索引存放位置。当使用成员过滤建立一个派生集时,LINGO首先会产生所有父集成员组合,接着每一个成员被“输入”到成员条件中察看是否通过检验,第一基本父集成员输入到&1中,第二基本父集成员输入到&2中,以此类推。本例中,只有一个父集(trucks),因此&2没有意义。符号#GT#是一个逻辑操作符,表示大于(greater than)。

例2.4学生派生集成员过滤。

sets:

!学生集:性别属性sex,1表示男性,0表示女性;年龄属性age. ;

students/John,Jill,Rose,Mike/:sex,age;

!男学生和女学生的联系集:友好程度属性friend,[0,1]之间的数。 ;

linkmf(students,students)|sex(&1) #eq# 1 #and# sex(&2) #eq# 0: friend;

!男学生和女学生的友好程度大于等于0.5的集;

linkmf2(linkmf) | friend(&1,&2) #ge# 0.5 : x;

endsets

data:

sex,age = 1 16

0 14

0 17

0 13;

friend = 0.3 0.5 0.6;

enddata

&1可看作派生集的第1个原始父集的索引,它取遍该原始父集的所有成员;&2可看作派生集的第2个原始父集的索引,它取遍该原始父集的所有成员;&3,&4,…,以此类推。注意如果派生集B的父集是另外的派生集A,那么上面所说的原始父集是集A向前回溯到最终的原始集,其顺序保持不变,并且派生集A 的过滤器对派生集B仍然有效。因此,派生集的索引个数是最终原始父集的个数,索引的取值是从原始父集到当前派生集所作限制的总和。

2.3.3小结

总的来说,LINGO可识别的集只有两种类型:基本集和派生集。

在一个模型中,基本集是基本的对象,不能再被拆分成更小的组分。基本集可以由显示列出和隐式列出两种方式来定义。当用显式列出方式时,需在集合成员列表中逐个输入每个成员。当用隐式列出方式时,只需在集合成员列表中输入首成员和末成员,而中间的成员由LINGO产生。

另一方面,派生集是由其它的集来创建。这些集被称为该派生集的父集(基本集或其它的派生集)。一个派生集既可以是稀疏的,也可以是稠密的。稠密集包含了父集成员的所有组合(有时也称为父集的笛卡尔乘积)。稀疏集仅包含了父集的笛卡尔乘积的一个子集,可通过明确列出和成员过滤这两种方式来定义。明确列出方法就是逐个罗列稀疏集的成员。成员过滤方法通过使用稀疏集成员必须满足的逻辑条件从稠密集成员中过滤出稀疏集的成员。不同集合类型的关系见图2-1。

图2-1 LINGO集合类

3 LINGO数据与初始化

很明显,你还要为一些集合的属性指定数值。为此,LINGO为用户提供了两个可选部分:输入集成员和数据的数据组件(Data Section)和为决策变量设置初始值的初始组件(Init Section)。

3.1LINGO数据组件

数据组件在模型中以关键字“data:”开始,以关键字“enddata”结束,它为模型相对静止部分与数据定义相分离提供了可能。显然,这对模型的维护和维数的缩放非常便利。

3.1.1属性直接赋值

在数据组件中,你可以直接为集合组件中定义的集合属性进行赋值,表达式语法为:

objective_list = value_list;

对象列(objective_list)包含要指定值的属性名、要设置集成员的集合名,用逗号或空格隔开。一个对象列中至多有一个集合名,而属性名可以有任意多。如果对象列中有多个属性名,那么它们的类型必须一致,即均对应同一集合。如果对象列中有一个集合名,那么对象列中所有的属性的类型就是这个集。

数值列(value_list)包含要分配给对象列中的对象的值,用逗号或空格隔开。注意属性值的个数必须等于集成员的个数。看下面的例子。

例3.1

sets:

set1/A,B,C/: X,Y;

endsets

data:

X=1,2,3;

Y=4,5,6;

enddata

在集set1中定义了两个属性X和Y。X的三个值是1、2和3,Y的三个值是4、5和6。也可采用如下例子中的复合数据声明(data statement)实现同样的功能。

例3.2

sets:

set1/A,B,C/: X,Y;

endsets

data:

X,Y=1 4

2 5

3 6;

enddata

看到这个例子,可能会认为X被指定了1、4和2三个值,因为它们是数值列中前三个,而正确的答案是1、2和3。假设对象列有n个对象,LINGO在为对象指定值时,首先在n个对象的第1个索引处依次分配数值列中的前n个对象,然后在n个对象的第2个索引处依次分配数值列中紧接着的n个对象,…,以此类推。换句话说,LINGO是按列读取数据而不是按行。

为了方便,LINGO又给出了一种区分数据组件中集合成员及其属性数值的方法。转换上述模型如例3.3。

例3.3

sets:

set1:X,Y;

endsets

data:

set1,X,Y=A 1 4

B 2 5

C 3 6;

enddata

模型的这种表示形式可能最为优美,因为所有数据(集合成员和属性数值)都在模型的数据组件中分离开来。

3.1.2属性赋同一值

可以在数据声明的右边输入一个值来把所有的成员的该属性指定为一个值。看下面的例子。

例3.4

sets:

days /MO,TU,WE,TH,FR,SA,SU/:needs;

endsets

data:

needs = 20;

enddata

LINGO指定days集的所有成员的needs属性均为20。对于多个属性的情形,见下例。

例3.5

sets:

days /MO,TU,WE,TH,FR,SA,SU/:needs,cost;

endsets

data:

needs cost = 20 100;

enddata

3.1.3部分成员属性值未知

有时只想为一个集的部分成员的某个属性指定值,而让其余成员的该属性保持未知,以便让LINGO去求出它们的最优值。在数据声明中输入两个相连的逗号表示该位置对应的集成员的属性值未知,两个逗号间可以有空格。

例3.6

sets:

years/1..5/: capacity;

endsets

data:

capacity = ,34,20,,;

enddata

属性capacity的第2个和第3个值分别为34和20,其余的未知。

3.1.4参数赋值

数据组件内也可以指定一些标量变量(scalar variables)。当一个标量变量在数据组件内确定时,称之为参数。看一例,假设模型中用利率8.5%作为一个参数,就可以象下面一样输入一个利率作为参数。

例3.7

data:

interest_rate = .085;

enddata

也可以同时指定多个参数。

data:

interest_rate,inflation_rate = .085 .03;

enddata

这样,在修改参数时,仅在数据组件内修改即可。

3.1.5实时数据定义

在某些情况,对于模型中的某些数据并不是定值。譬如模型中有一个通货膨胀率的参数,我们想在2%至6%范围内,对不同的值求解模型,来观察模型的结果对通货膨胀的依赖有多么敏感。我们把这种情况称为实时数据定义(what if analysis)。LINGO有一个特征可方便地做到这件事,即在本该放数的地方输入一个问号(?)。

例3.8

data:

interest_rate,inflation_rate = .085 ?;

enddata

每一次求解模型时,LINGO都会提示为参数inflation_rate输入一个值。在Windows操作系统下,将会接收到一个类似下面的对话框:

直接输入一个值再点击OK按钮,LINGO就会把输入的值指定给inflation_rate,然后继续求解模型。除了参数之外,也可以实时输入集的属性值,但不允许实时输入集成员名。

3.2模型的初始化

初始组件是LINGO提供的另一个可选部分,以“init:”开始,以“endinit”结束。对实际问题的建模,初始组件并不起到描述模型的作用,在初始组件内输入的值仅被LINGO求解器当作初始点来用,并且仅仅对非线性模型有用。和数据组件指定变量的值不同,LINGO求解器可以自由改变初始组件初始化的变量的值。

一个初始组件的初始语句规则和数据组件的数据语句规则相同。也就是说,我们可以在声明的左边同时初始化多个集属性,可以把集属性初始化为一个值,可以用逗号指定未知数值,还可以用问号实现实时数据处理。

例3.9

init:

X, Y = 0, .1;

endinit

Y=@log(X);

X^2+Y^2<=1;

好的初始点会减少模型的求解时间。

4 LINGO运算符和函数

LINGO为数学模型提供了许多函数和运算符,我们将其分为以下几类:

(1)基本运算符:算术,逻辑和关系运算符。如+,-,=,<=。

(2)数学函数:三角函数和一般数学函数。

(3)财务函数:用以决定现值的普通财务函数。

(4)概率函数:概率统计函数,如泊松和爱尔朗排队函数。

(5)变量范围函数:用以决定变量取值范围的函数,如边界限制函数和整数限制函数。

(6)集合处理函数:用于计算集合的函数。

(7)集合@函数:对一个集合进行操作的@函数,如@Sum,@Max,@Min 等。

(8)输入输出函数:用于创建与外部数据源连接的函数。

(9)其它函数。

4.1基本运算符

4.1.1算术运算符

算术运算符及其优先级由高到低如下:负号(-),乘方(^),乘除(*,/),加减(+,-)。当然,如有括号(),括号内的先行计算,是第一优先级。

例4.1算术运算符示例。

x=4+6/2;

y=(4+6)/2;

4.1.2逻辑运算符

在LINGO中,逻辑运算符主要用于集循环函数的条件表达式中,来控制在函数中哪些集成员被包含,哪些被排斥;在创建稀疏集时用在成员过滤中。逻辑运算符返回TRUE或FALSE。LINGO用1表示TRUE,0表示FALSE,它认为当且仅当一个参数等于0时,该参数才为FALSE,否则均为TRUE,如1,7,-1和0.1234均为TRUE。

LINGO有9种逻辑运算符,除了#NOT#外其余8种均为二元型。列表如下:

表4-1 LINGO逻辑运算符

#NOT#;#EQ#,#NE#,#GT#,#GE#,#LT#,#LE#;#AND#,#OR#。

例4.2逻辑运算符示例。

x=2#GT#3;(返回0)

y=4#GE#2;(返回1)

z=x#and#y;(返回0)

t=y#or#z;(返回1)

4.1.3关系运算符

在LINGO中,关系运算符主要是被用在模型中来指定一个表达式的左边是否等于、小于等于、或者大于等于右边,形成模型的一个约束条件。关系运算符与逻辑运算符#EQ#、#LE#、#GE#截然不同,前者是模型结果必须满足运算关系,而后者仅仅判断一个该关系是否被满足:满足为真,不满足为假。

LINGO有三种关系运算符:“=”、“<=”和“>=”。LINGO中还可用―<”表示小于等于关系,“>”表示大于等于关系。LINGO并不支持严格小于和严格大于关系运算符。然而,如果需要严格小于和严格大于关系,比如让A严格小于B:

A

那么可以把它变成如下的小于等于表达式:

A+ε<=B

这里ε是一个小的正数,它的值依赖于模型中A小于B多少才算不等。

下面给出以上三类操作符的优先级:

高:#not#,﹣(取反)

﹡,/

﹢﹣

#eq#,#ne#,#gt#,#ge#,#lt#,#le#

#and#,#or#

低:<=,=,>=

4.2数学函数

LINGO提供了大量的标准数学函数。

(1)@abs( X):返回X的绝对值。

(2)@cos( X):返回X的余弦值,X是以弧度表示的角。

(3)@exp( X):返回数值e X 。

(4)@floor( X):返回X 的最大整数部分。如果X ≥0,返回整数I ,I ≤X ;如果X ≤0,返回整数I ,I ≥X 。

(5)@lgm( X):返回X 的伽玛函数的自然对数值,即)!1(log -X e 。 (6)@log( X):返回X 的自然对数值。

(7)@sign( X):返回X 的符号值。当X<0时返回-1;X>0时返回1。 (8)@sin( X):返回X 的正弦值。

(9)@smax( X1, X2,..., Xn):返回X1, X2,…, Xn 的最大值。 (10)@smin( X1, X2,..., Xn):返回X1, X2,…, Xn 的最小值。 (11)@tan( X):返回X 的正切值。

例4.3给定一个直角三角形,求包含该三角形的最小正方形。 解:如图所示

CE =asinx ,AD =bcosx ,DE =acosx +bsinx

求最小的正方形就相当于求如下的最优化问题:

},,max {min 2

0DE AD CE x π

LINGO 代码如下:

model : sets :

object/1..3/: f; endsets data :

a, b = 3, 4; !两个直角边长,修改很方便; enddata

f(1) = a * @sin (x); f(2) = b * @cos (x);

f(3) = a * @cos (x) + b * @sin (x); min = @smax (f(1),f(2),f(3)); @bnd (0,x,1.57); end

4.3财务函数

LINGO 提供了两种财务函数: (1)@fpa( I, n)

返回如下情形的净现值:单位时段利率为I ,连续n 个时段支付,每个时段支付单位费用。图形及推导式如下。

n

n

n i i i i i i fpa )1(1)1()1(1

)1(1)1(12+-+=

++++++=

若每个时段支付x 单位的费用,则净现值可用x 乘以@fpa(I,n)算得。净现值就是在一定时期内为了获得一定收益在该时期初所支付的实际费用。

例4.4 (贷款买房问题)贷款金额50000元,贷款年利率5.31%,采取分期

A

B C

D

E

x

a b

付款方式(每年年末还固定金额,直至还清)。问拟贷款10年,每年需偿还多少元?

LINGO 代码如下:

50000 = x * @fpa (.0531,10);

解得x=6573.069元。

(2)@fpl( I, n)

返回如下情形的净现值:单位时段利率为I ,第n 个时段支付单位费用。计算公式为:

n

i fpl )1(1+=

4.4概率函数

1、@pbn( p, n, x)

二项分布的累积分布函数。当n 和(或)x 不是整数时,用线性插值法进行计算。整数时,计算公式为:

x n x x n n n n n p p C p p C p p C pbn ---++-+-=)1()1()1(11

100

2、@pcx(n, x)

这是一个自由度为n ,服从t 分布的累积分布函数,返回分布中观察值小于等于x 的概率。

注意:这一函数应为服从卡方分布的累计分布函数,可能学生版有误。 3、@peb(a,x)

当到达负荷为a ,服务系统有x 个服务器且允许无穷排队时的Erlang 繁忙概率。

4、@pel(a,x)

当到达负荷为a ,服务系统有x 个服务器且不允许排队时的Erlang 损失概率。 例4.5(排队问题)已知顾客每小时平均到达25人,每位顾客服务时间6分钟,要满足小于5%的顾客发现服务人员都在忙,即损失概率小于5%,至少需要多少服务人员。

LINGO 模型如下:

model :

!平均每小时到达人数; AR=25;

!每位顾客平均服务时间(分); STM=6;

!发现服务人员都忙的顾客比率; fb=0.05;

!到达负荷为AR*STM/60;

fb=@pel(AR*STM/60,number); end

结果为NUMBER=5.475485,即至少需要6位服务员。

5、@pfd(n,d,x)

自由度为n和d的F分布的累积分布函数。

6、@pfs(a,x,c)

当负荷上限为a,顾客数为c,平行服务器数量为x时,有限源的Poisson服务系统的等待或返修顾客数的期望值。a是顾客数乘以平均服务时间,再除以平均返修时间。当c和(或)x不是整数时,采用线性插值进行计算。

7、@phg(pop,g,n,x)

超几何(Hypergeometric)分布的累积分布函数。pop表示产品总数,g是正品数。从所有产品中任意取出n(n≤pop)件。pop,g,n和x都可以是非整数,这时采用线性插值进行计算。

8、@ppl(a,x)

Poisson分布的线性损失函数,即返回max(0,z-x)的期望值,其中随机变量z 服从均值为a的Poisson分布。

9、@pps(a,x)

均值为a的Poisson分布的累积分布函数。当x不是整数时,采用线性插值进行计算。

10、@psl(x)

单位正态线性损失函数,即返回max(0,z-x)的期望值,其中随机变量z服从标准正态分布。

11、@psn(x)

标准正态分布的累积分布函数。

12、@ptd(n,x)

自由度为n的t分布的累积分布函数。

13、@qrand(seed)

产生服从(0,1)区间的拟随机数。@qrand只允许在模型的数据组件内使用,用伪随机数填满集属性。通常,声明一个m×n的二维表,m表示运行实验的次数,n表示每次实验所需的随机数的个数。在行内,随机数是独立分布的;在行间,随机数是非常均匀的。这些随机数是用“分层取样”的方法产生的。

例4.6随机数产生示例。

model:

data:

M=4; N=2; seed=1234567;

enddata

sets:

rows/1..M/;

cols/1..N/;

table(rows,cols): x;

endsets

data:

X=@qrand(seed);

enddata

end

如果没有为函数指定种子,那么LINGO将用系统时间构造种子。

14、@rand(seed)

返回0和1间的伪随机数,依赖于指定的种子。注意如果seed不变,那么产生的随机数也不变。因此,典型用法是U(I+1)=@rand(U(I))。

例4.7利用@rand产生15个标准正态分布的随机数和自由度为2的t分布的随机数。

model:

!产生一列正态分布和t分布的随机数;

sets:

series/1..15/: u, znorm, zt;

endsets

!第一个均匀分布随机数是任意的;

u(1) = @rand(.1234);

!产生其余的均匀分布的随机数;

@for(series(I)|I#GT#1:

u(I) = @rand(u( I-1)));

@for(series(I):

!正态分布随机数;

@psn(znorm(I)) = u(I);

!和自由度为2的t分布随机数;

@ptd(2, zt(I)) = u(I);

!ZNORM 和 ZT 可以是负数;

@free(znorm(I));@free(zt(I)););

end

4.5变量范围函数

除非特别说明,否则LINGO中的变量均缺省为非负、连续实数。而许多情况下,这并不恰当,例如模型中的某个数可能为负数或整数。LINGO提供了四种变量范围函数:

1、@gin:限制一个变量为整数。

句法格式:@gin( variable_name);

常见格式举例有:

(1)@gin( X);使变量X为普通整数。

(2)@gin( produce ( 5));使变量produce( 5)为普通整数。

(3)@for( day( I): @gin( start( I)));使start属性中的所有变量均为普通整数。

2、@bin:使一个变量为0或1。

3、@free:使一个变量为任意实数,正数或负数;

4、@bnd:限制一个变量落在有限区间内。

句法格式:@bnd( lower_bound, variable_name, upper_bound);

4.6集合处理函数

LINGO提供了几个函数帮助处理集合。

1、@in

判断一个集合元素是否在集合中。如果元素在指定集中,返回1;否则返回0。格式为:

@in(set_name,primitive_index_1 [,primitive_index_2,…])

例4.8全集为I,B是I的一个子集,C是B的补集。

sets:

I/x1..x4/;

B(I)/x2/;

C(I)|#not#@in(B,&1):;

Endsets

2、@index

格式为:@index([set_name,] primitive_set_element)

该函数返回在集set_name中原始集成员primitive_set_element的索引。如果set_name被忽略,那么LINGO将返回与primitive_set_element匹配的第一个原始集成员的索引。如果找不到,则产生一个错误。

例4.9

sets:

girl /DEBBIE, SUE, ALICE/;

boy /BOB, JOE, SUE, FRED/;

endsets

n1=@index(SUE);

n2=@index(girl,SUE);

n3=@index(boy,SUE);

结果为n1=2;n2=2;n3=3。

我们建议在使用@index函数时最好指定集。

例4.10如何确定集成员(B,Y)属于派生集S3。

sets:

S1/A B C/;

S2/X Y Z/;

S3(S1,S2)/A X, A Z, B Y, C X/;

Endsets

X=@in(S3,@index(S1,B),@index(S2,Y));

结果x=1,即(B,Y)属于派生集S3。

3、@wrap

格式为:@wrap(index,limit)

该函数返回j=index-k*limit,其中k是一个整数(可正可负),取适当值保证j落在区间[1,limit]内。该函数在循环、多阶段计划编制中特别有用。

为了较清楚的说明该函数用法,举一个例子。

例4.11(员工日程问题)一项工作一周7天都需要有人(比如护士工作),每天(周一至周日)所需的最少职员数为20、16、13、16、19、14和12,并要求每个职员连续工作5天,试求每周所需最少职员数,并给出安排。

如果采用线性规划,有如下数学模型:

min=x1+x2+x3+x4+x5+x6+x7

x1+x7+x6+x5+x4>=20

x2+x1+x7+x6+x5>=16

x3+x2+x1+x7+x6>=13

s.t. x4+x3+x2+x1+x7>=16

x5+x4+x3+x2+x1>=19

x6+x5+x4+x3+x2>=14

x7+x6+x5+x4+x3>=12

采用LINGO建模,程序如下:

model:

sets:

days/Mon..Sun/: required,start;

endsets

data:

!每天所需的最少职员数;

required = 20 16 13 16 19 14 12;

enddata

!最小化每周所需职员数;

min=@sum(days:start);

@for(days(J):

@sum(days(I)|I#le#5:

start(@wrap(J-I+1,7)))>=required(J));

end

结果为:

Global optimal solution found at iteration: 15

Objective value: 22

Variable Value

START( MON) 8

START( TUE) 2

START( WED) 0

START( THU) 6

START( FRI) 3

START( SAT) 3

START( SUN) 0

可见每周需要22个职员即可,周一安排8人,周二安排2人,周三无需安排人,周四安排6人,周五和周六都安排3人,周日无需安排人。

4、@size(set_name)

该函数返回集set_name的成员个数。在模型中明确给出集大小时最好使用该函数。它的使用使模型更加与数据相独立,集大小改变时也更易维护。

4.7集合循环函数

集合循环函数对整个集合进行操作,除了@for函数外,其余函数均产生为一结果。集合函数的一般格式为:

@function( setname [ ( set_index_list)[|conditional_qualifier]] : expression_list);

其中:

施工图常用符号及图例大全(收藏备查)

施工图常用符号及图例大全(收藏备查) 一、识图 1、先读首页图:从首页图中的图纸目录中,可以了解到该套房屋施工图由那几类专业图纸组成、各专业图纸有多少张,每张图纸的图名及图号。 2、阅读设计总说明:从中可了解设计的依据、设计标准以及施工中的基本要求,也可了解到图中没有绘出而设计人员认为应该说明的内容。 3、建筑施工图——结构施工图——设备施工图顺序逐张阅读。 4、在各类专业图纸阅读中,基本图和详图要对照阅读,看清楚各专业图纸表示的主要内容。 5、如果建筑施工图和结构施工图发生矛盾,应以结构施工图为准(构件尺寸),以保证建筑物的强度和施工质量。 二、建筑符号 1、定位轴线 (1)作用 定位轴线是施工中墙身砌筑、柱梁浇筑、构件安装等定位、放线的依据。 规定:主要承重构件,应绘制水平和竖向定位轴线,并编注轴线号;对非承重墙或次要承重构件,编写附加定位轴线。 (2)定位轴线的编号 横向定位轴线编号用阿拉伯数字,自左向右顺序编写; 纵向轴线编号用拉丁字母(除I、O、Z),自下而上顺序编写;

平面图上定位轴线的编号,宜标注在图样的下方与左侧,在两轴线之间,有的需要用附加轴线表示,附加轴线用分数编号; 对于详图上的轴线编号,若该详图同时适用多根定位轴线,则应同时注明各有关轴线的编号,如下图所示:

2、索引符号与详图符号 详细表示某些重要局部,需要另绘制其详图进行表达。 对需用详图表达部分应标注索引符号,并在所绘详图处标注详图符号。 3、标高符号 标高是标注建筑物高度方向的一种尺寸形式,以米为单位。 绝对标高:以青岛附近黄海平均海平面为零点测出的高度尺寸,它仅使用在建筑总平面图中。 相对标高:以建筑物底层室内地面为零点测出的高度尺寸。 建筑标高:指楼地面、屋面等装修完成后构件的表面的标高。如楼面、台阶顶面等标高。

pot lav解码 madVR渲染教程讲解

【教程】potplayer + LAV + madVR 高清播放器设置 本教程适用于习惯potplayer播放器,对PC高清播放有需求的用户,尤其是动漫爱好者,并且最好有一定的硬件配置支持(madVR比较吃显卡性能,GTX650M、GT730以上压力不大,对显卡没信心请移步https://www.sodocs.net/doc/495563897.html,/archives/4384)。 LAV+madVR可能是目前为止播放效果最接近完美的家用方案,而potplayer是大家比较喜欢的播放器,三者结合可以使播放画面有质的提升。可能有些人会说,你折腾这么多真的有卵用吗?我的pot默认/QQ/暴风影音不够用吗?诚然,在如今的快餐时代,很多人满足于一两百百M一部的网络视频,这篇教程确实不适合他们。然而但凡对感官有一些追求的人,在经过精心的调试,下载/购买来巨大的蓝光转码/蓝光,通过良好的显示器最终看到画质的提升,心里一定觉得没有白费功夫。(即使写完我也觉得这教程又臭又长) 本文基于对VCB-S教程的理解,经参考各种信息整理实践后写成。原教程是使用完美解码作为载体,长久未更新,因为64位技术发展,且楼主使用后发现其对win10兼容性欠佳,故而自己写一篇。从零开始入门,尽量对小白友好,因此篇幅可能较长且图会比较多。只教如何设置,具体原因不作解释(也没这个本事解释清楚)。 楼主见识浅薄,如有错误或不足,还望各位大神轻喷并指正。 最后感谢@LittlePox 大神,大家可以上https://www.sodocs.net/doc/495563897.html,下载各种动漫Bdrip,还有更多科普。 【文件准备】 如果是64位用户强烈建议以下软件全部使用64bit(x64)版本(以下均以64位为例),否则全部使用32bit(x86)版本。查看方式右击我的电脑/计算机/此电脑-属性,在系统类型一栏。 1、potplayer播放器: https://www.sodocs.net/doc/495563897.html,/?lang=zh_CN点击64bit download,安装过程可以无脑下一步。 2、LAV Filters分离解码器:https://www.sodocs.net/doc/495563897.html,/showthread.php?t=156191页面往下稍微拉一下。建议如图下载左边的安装版,安装过程可以无脑下一步,记住装在哪里。 http://files.1f0.de/lavf/LAVFilters-0.67.exe C:\Program Files\LAV Filters 3、madVR渲染器:https://www.sodocs.net/doc/495563897.html,/madVR.zip点击下载压缩包。解压到某处,不能删除,记

PS教程实例1000例

https://www.sodocs.net/doc/495563897.html,/thread-446934-1-1.html Photoshop绘制逼真头发发丝效果 https://www.sodocs.net/doc/495563897.html,/thread-446912-1-1.html Photoshop合成在空中漂移的陆地 https://www.sodocs.net/doc/495563897.html,/thread-446909-1-1.html Photoshop制作漂亮的紫色水晶字效果 https://www.sodocs.net/doc/495563897.html,/thread-446908-1-1.html Photoshop打造梦想效果的背景字教程 https://www.sodocs.net/doc/495563897.html,/thread-446900-1-1.html Photoshop简单制作灯光下的黄金字 https://www.sodocs.net/doc/495563897.html,/thread-446907-1-1.html Photoshop制作菊花照片马赛克效果 https://www.sodocs.net/doc/495563897.html,/thread-446889-1-1.html Photoshop转手绘教程:给玄彬照片转手绘https://www.sodocs.net/doc/495563897.html,/thread-446745-1-1.html Photoshop调出男性外景颓废黄调 https://www.sodocs.net/doc/495563897.html,/thread-446740-1-1.html Photoshop调色美女模特青褐色效果 https://www.sodocs.net/doc/495563897.html,/thread-446737-1-1.html Photoshop使用通道给儿童照去除雀斑 https://www.sodocs.net/doc/495563897.html,/thread-446559-1-1.html Photoshop制作唯美效果的风景照 https://www.sodocs.net/doc/495563897.html,/thread-446557-1-1.html Photoshop制作印有犀利哥标志的T恤 https://www.sodocs.net/doc/495563897.html,/thread-446538-1-1.html Photoshop为照片打造柔美朦胧效果 https://www.sodocs.net/doc/495563897.html,/thread-446212-1-1.html Photoshop打造漂亮的镶钻字教程 https://www.sodocs.net/doc/495563897.html,/thread-446201-1-1.html Photoshop音画教程:绘制逼真的缝绳效果https://www.sodocs.net/doc/495563897.html,/thread-446198-1-1.html Photoshop音画教程:自定义形状缝线制作方法https://www.sodocs.net/doc/495563897.html,/thread-446192-1-1.html Photoshop签名教程:灰色魔女动漫成签https://www.sodocs.net/doc/495563897.html,/thread-446190-1-1.html Photoshop音画教程:立体边框效果制作https://www.sodocs.net/doc/495563897.html,/thread-446187-1-1.html Photoshop加手绘板绘制中国风的美女 https://www.sodocs.net/doc/495563897.html,/thread-446159-1-1.html Photoshop把美女照片转成海报效果 https://www.sodocs.net/doc/495563897.html,/thread-446172-1-1.html Photoshop制作甜心蛋糕公主签名教程 https://www.sodocs.net/doc/495563897.html,/thread-446147-1-1.html Photoshop给视频截图调出亮白艳丽效果https://www.sodocs.net/doc/495563897.html,/thread-446140-1-1.html Photoshop简单三步做出照片泛白LOMO风格https://www.sodocs.net/doc/495563897.html,/thread-446077-1-1.html Photoshop边框教程:简单制作撒点边框https://www.sodocs.net/doc/495563897.html,/thread-446042-1-1.html Photoshop制作破碎的玻璃字教程 https://www.sodocs.net/doc/495563897.html,/thread-445950-1-1.html Photoshop制作尘封的记忆古签名 https://www.sodocs.net/doc/495563897.html,/thread-445882-1-1.html Photoshop简单的制作蕾丝边框 https://www.sodocs.net/doc/495563897.html,/thread-445690-1-1.html Photoshop调出美女水嫩的肌肤效果 https://www.sodocs.net/doc/495563897.html,/thread-445678-1-1.html Photoshop为汽车添加闪亮的车灯效果 https://www.sodocs.net/doc/495563897.html,/thread-445672-1-1.html Photoshop调出清爽色调的海滩照片 https://www.sodocs.net/doc/495563897.html,/thread-445656-1-1.html Photoshop制作炫彩的花纹文字特效 https://www.sodocs.net/doc/495563897.html,/thread-445565-1-1.html Photoshop调出照片的复古怀旧色 https://www.sodocs.net/doc/495563897.html,/thread-445561-1-1.html Photoshop轻松打造MM水清纯靓丽肌肤https://www.sodocs.net/doc/495563897.html,/thread-445511-1-1.html Photoshop调出人物的淡雅粉嫩肤色教程https://www.sodocs.net/doc/495563897.html,/thread-445488-1-1.html Photoshop+IR制作花瓣飘落GIF动态效果https://www.sodocs.net/doc/495563897.html,/thread-445480-1-1.html Photoshop制作墙上的霓虹灯文字效果 https://www.sodocs.net/doc/495563897.html,/thread-445475-1-1.html Photoshop制作美女照片漂亮的素描风格https://www.sodocs.net/doc/495563897.html,/thread-445465-1-1.html Photoshop制作真实的建筑物雪景效果 https://www.sodocs.net/doc/495563897.html,/thread-445441-1-1.html Photoshop打造美女迷人的眼妆 https://www.sodocs.net/doc/495563897.html,/thread-445428-1-1.html Photoshop快速给人物加上闪亮的蜜唇 https://www.sodocs.net/doc/495563897.html,/thread-445422-1-1.html Photoshop巧用匹配颜色校正偏黄色照片https://www.sodocs.net/doc/495563897.html,/thread-444870-1-1.html Photoshop制作汤姆克鲁斯的阿凡达特效https://www.sodocs.net/doc/495563897.html,/thread-444407-1-1.html Photoshop曲线工具基础教程:色彩对比 https://www.sodocs.net/doc/495563897.html,/thread-444406-1-1.html Photoshop色阶实例教程:调整照片色彩明暗度https://www.sodocs.net/doc/495563897.html,/thread-444071-1-1.html Photoshop调色教程:人物淡彩及美白教程https://www.sodocs.net/doc/495563897.html,/thread-444069-1-1.html Photoshop绘制真实的香水瓶效果 https://www.sodocs.net/doc/495563897.html,/thread-444007-1-1.html Photoshop打造简单的彗星划过效果 https://www.sodocs.net/doc/495563897.html,/thread-444003-1-1.html Photoshop保持肤色细节给人物美白 https://www.sodocs.net/doc/495563897.html,/thread-444002-1-1.html Photoshop设计一个简洁灰色系的网页模板https://www.sodocs.net/doc/495563897.html,/thread-444001-1-1.html Photoshop简单调出人物质感铜色效果 https://www.sodocs.net/doc/495563897.html,/thread-443999-1-1.html Photoshop随心随遇制作人物阿凡达效果https://www.sodocs.net/doc/495563897.html,/thread-443997-1-1.html Photoshop制作滚动显示的文字GIF动态效果https://www.sodocs.net/doc/495563897.html,/thread-443955-1-1.html Photoshop调出黄转粉色调 https://www.sodocs.net/doc/495563897.html,/thread-443791-1-1.html Photoshop照片转手绘之头发的画法教程https://www.sodocs.net/doc/495563897.html,/thread-443789-1-1.html巧用Photoshop随心所欲给汽车皮肤换颜色

字幕组时间轴组培训教程之用SubtitleEdit的波形调整时间轴的方法

深影字幕组时间轴组培训教程之 用SE字幕编辑软件来调整时间轴 Subtitle Edit及相关辅助插件度盘下载链接 32位系统链接:密码:uxio 64位系统链接: 密码:4ci1 ============================================================== 目录 一、字幕编辑软件介绍 二、SE软件及插件的安装和运行环境 三、SE字幕编辑软件的操作流程及要求 (一)SE软件的设置 (二)字幕的打开及前期处理 (三)字幕的调校和技巧 (四)字幕的恢复与保存 四、常见问题及解决办法 五、进阶篇 (一)了解.srt和.ass格式字幕的基础特效代码 一、字幕编辑软件介绍 Time_Machine TM 时间机器 原人人影视字幕组开发的一款字幕编辑软件——时间机器 Time_Machine(简称TM) TM的优势是根据国内观众对字幕的要求和观看习惯,以及字幕组所积累的行业经验,有针对性的定制开发 的一款字幕编辑软件。其功能特点主要有: 字幕的正规化操作、FPS转换、双语合并、 检查出错、字幕CC处理等等,特别是人物 名的批量替换非常有用。替换规则可以保 存为TXT文档,人物名称可以不断增加(对 连续剧特别有用,可根据人物出场顺序添 加)。需要替换的时候载入,软件会根据 字母自动排序以及长短排序进行优先级替

换,避免出现替换不全有残留的问题。为此,TM已成为各字幕组校对组长的必备软件之一。 SrtEdit Pro 简称SEP SrtEdit软件最早是由国内高清史最为悠久的MySiLU思路论坛的版主写的,经无数次修改升级后,现在已经成为各字幕组后期人员人手必备的神器。其主要特点功能有:双语字幕合并与拆分、单条双语和双条双语的转换、删除双语字幕中的英文行部分或中文行部分、半、全角字符的转换、简繁体的转换、消除字幕重叠等等,特别值得一提的是它可以批量、分别定义中文和英文字幕行风格样式的独有功能。 Aegisub 简称 Aeg Aegisub是一个免费、开源、跨平台的字幕编辑软件,被业界公认为最出色的字幕制作编辑软件。已成为各字幕组特效人员和字幕制作爱好者所必须掌握的一款ass字幕特效制作编辑软件,其功能非常强大,它 拥有优良的时间轴编排能力,对制作卡 拉OK字幕是非常的精准和方便,它的 特效字幕制作能力已经达到非常高的 水准,其内置强大的【自动化】脚本运 行环境,可透过Lua、MoonScript编程 语言来扩充功能,我们所看到的各大字 幕组的特效字幕,几乎都是由Aegisub 制作的。

建筑施工图常用符号及图例

房屋的建造一般需经设计和施工两个过程,设计工作又分为初步设计和施工图设计阶段。但对一些技术上复杂而又缺乏设计经验的工程,还应在初步设计基础上增加技术设计(或称扩大初步设计)阶段,以此作为协调各工种的矛盾和绘制施工图的准备。不同的设计阶段对图纸有不同的要求,施工图是要求从满足施工要求的角度出发,提供完整翔实的资料。所以,我们把按照国标”的规定,用正投影方法画出的一幢拟建房屋的内外形状和大小,以及各部分的结构、构造、装修、设备等内容,并达到能够指导施工的图样称为房屋施工图。 建筑方面的施工图又分为两类:一类是建筑施工图(简称建施”,主要 表示建筑物的总体布局,外部造型、内部布置、细部构造、装修和施工;另一类是结构施工图(简称结施”,主要表示承重构件结构的布置、构件类型及构造和做法等。在这两类图纸中又各自分成两种表达形式:一种是表示整体的图纸,以此来反映建筑物的全貌;另一类则是表示局部,反映各个细部的具体做法。 建筑施工图表示整体的图纸有:总平面图、施工总说明、平面图、立面图、剖面图。表示局部的图纸有建筑详图,如楼梯详图、门窗详图等。 结构施工图中,表示整体的图纸有:基础平面图、楼层结构平面图、屋顶结构平面图等。表示细部的图纸有:基础详图、钢筋混凝土梁、板、柱等结构详图、屋架详图等。 在房屋建造中,一套完整的施工图,根据其专业内容或作用的不同,包括如下内容: (1)图纸目录。 (2)设计总说明。

(3)建筑施工图。 (4)结构施工图。 (5)建筑装修图。 (6)设备施工图(简称设施”,本书不做讨论。 阅读施工图时,应按先整体后局部,先文字说明后图样,先图形后尺寸等原则依次仔细阅读。 一、房屋的组成及其作用 房屋建筑一般可分为民用建筑和工业建筑两大类。各种使用功能的房屋,尽管他们在使用要求、空间组合、外形处理、结构形式、构造方式以及规模大小各有特点,但其基本的组成内容是相似的,构成他们的基本构配件通常有:基础、墙(柱、梁)、楼板层和地面、屋面、楼梯和门、窗等。如图3-1。 基础是房屋最下面与地基相接触的承重构件,起着支撑房屋的作用,并将整个建筑物荷载传于地基。 楼房的第一层称为首层(或称一层或底层),往上称二层、三层顶层, 这是由楼板分隔而成的。屋面、楼板是房屋的水平承重构件,它将楼板上的各种荷载传递到墙或梁上去,再由墙或梁传给基础。屋面是房屋顶部的围护和承重构件。

完美解码的使用说明

完美解码 完美解码 完美解码是一款能实现各种流行视频、HDTV回放及编码的全能型影音解码包,自带Media Player Classic、KMPlayer、PotPlayer三款流行播放器,支持简、英语言平台下安装,能播放AVI、VCD、DVD、MPG、MP4、RMVB、TS、TP、EVO、M2TS、MKV、OGM、MOV、SCM、CSF、FLV等众多种格式的影音文件。推荐安装环境是Windows XP、DirectX 9.0C、Windows Media Player 10/11/12,不支持Windows9x,目前可以支持vista。若要和 Realplayer 同时使用,请在安装时不要选择Real解码组件,点击此处添加图片说明QuickTime类似。 目录

完美者精品论坛 安装注意事项和安装参数: 一.安装前请先卸载与本软件功能类似的解码包及播放器(包括旧版完美解码),强烈建议在卸载后重新启动Windows系统再进行安装。 二.如要支持HD-DVD/BD VC1 Remux(TS) 的播放,需升级到Windows Media Player 11才能解码VC-1视频(也可单独安装其runtime,只安装WMP11安装程序解包后得到的wmfdist11.exe)。 三.完美解码发布旨在分享,从不捆绑任何流氓/广告插件,但其中一些辅助工具为NSIS脚本编写,某些监控软件可能会误报其为广告软件,请以“用人不疑,疑人不用”心态处理,特此申明,勿重复询问。 四.静默安装的命令行参数如下: /S- 静默安装(不显示用户界面,若没有其他参数,则 依系统默认语言按照默认设置安装默认组件) /D=路径- 指定安装目录的路径 利用以上参数可以进行简单的定制安装,例如实现完全静默安装且指定安装路径为 E:\Pure Codec 的格式如下(假设完美解码的文件名为PureCodec.exe): PureCodec.exe /S /D=E:\Pure Codec 完美解码设置教程(快速入门篇) 注:此“入门篇”不完整。完整版本的设置教程由作者东方留香于2009-1- 6 发表在完美者精品论坛的完美解码发布区,最近更新日期为2010-1-27。你可以登录完美者精品论坛进入完美解码发布区查看完整版的设置教程【完美解码设置教程(快速入门篇)_修订版】(登录论坛才能看到相关附件): 一、解码方案设置步骤 1.退出完美解码播放器,然后启动完美解码设置中心。

Photoshop经典实例教程3000例(PDF打印版)

Photoshop经典实例教程3000例 1、教你打造偏色艺术色调教程 2、·教你打造偏色艺术色调教程 3、Photoshop┾製造制造另类婚纱照片 4、⒈款粉帥氣de游戲做圖 5、PS(IR)可爱的棒棒糖 6、ps打造唯美色调 7、PS打造超炫人物效果 8、一款比较自然的眨眼教程 9、Photoshop最简易的磨皮法 10、Photoshop]制作下雨的效果 11、小菱形背景和圆点背景的做法 12、[Photoshop]PS打造淡彩风格的幻眼效果 13、Photoshop]用Photoshop滤镜打造梦幻艺术效果 14、Photoshop]巧用PS打造镶满诱人钻石的文字 15、Photoshop]PS制作幽冥火焰 16、Photoshop]简单的叠影制作方法 17、Photoshop]制作冬季恋歌浪漫雪景效果 18、Photoshop]用Photoshop设计另类树皮人体 19、Photoshop]教你设计绚丽光芒效果 20、Photoshop]教你设计胶片风情电影海报 21、Photoshop]教你设计神秘炫光黑洞效果 22、Photoshop]PS特效字:闪亮钻石效果 23、[Photoshop]巧绘晶莹剔透的水晶樱桃 24、Fireworks]QQ空间初级玩家必学的11条技巧 25、Flash]给FLASH初学者的10点制作经验 26、Flash]Flash全屏效果全攻略 27、Photoshop]利用PS图层样式绘制彩色玻璃立体文字 28、Photoshop]Photoshop制作逼真的洁白羽毛 29、Photoshop]用PS把秋景照片变为冬景效果 30、[Photoshop]Photoshop教你给MM的衣服换个颜色 31、Photoshop]用PS制作周迅的怀旧效果图 32、Photoshop]转用PS轻松给MM衣服添加图案 33、Photoshop]用PS的动态画笔制作鞭炮 34、Photoshop]教你做天使翅膀的卡通效果 35、Photoshop]制作融化的冰淇淋 36、Photoshop]打造宇宙场景爆炸星球特效 37、Photoshop]教你设计恐怖电影海报 Photoshop]制作奔驰中的汽车 [Photoshop]蝴蝶结边框 [Photoshop]印章制作小教程(ps新手适用)[Photoshop]Photoshop高级柔化处理人物照片

最完整的MeGUI x264制作BDRIP入门教程

最完整的M eGUI x264制作BDRIP入门教程 https://www.sodocs.net/doc/495563897.html, 本文适用于想学或初学MeGUI x264的网友。如有何错误或不足之处,请指正。 一、所需软件及其安装 1. 系统:Windows XP、Vista或Windows 7 如果是Windows XP,需要安装Windows Media Player 11或12(解码VC-1视频必备)。同时Windows XP还需要Windows XP Microsoft .NET Framework 2.0 版可再发行组件包。Vista或Windows 7都已支持,不需要另外安装这个两个。 2. 终极解码(或完美解码) 暴风等其他全能播放器也可以,但不推荐,终极解码(或完美解码)指定解码器更方便,这一点在压片中有用。另外不能同时安装几个全能播放器,以免冲突发生意外,一个就可以了。这些软件都带有了Avisynth,可以在安装目录下看到。 3.Avisynth(可省略) 更新:现在新版本的megui升级时已经会自动下载并安装AviSynth,在C:\Program Files\megui\tools目录下,不需要自己另外安装。 这是一个独立的工具,用来为视频编辑编写脚本时用。现在主要使用的版本是AviSynth2.5.7。Avisynth安装后,meGUI会下载Avisynth所需的一系列插件,你无需自己下载。 如果则已经安装了终极解码(或完美解码),则可以不用也不推荐另外安装Avisynth,终极解码(或完美解码)的目录下已经包含有Avisynth。 4. 高品质Nero AAC 编码器 这个是在压制时要用到的一种高级声音编码,但因为版权问题,所以meGUI的升级不提供相关下载。你可以访问下列地址,从网站下下载: https://www.sodocs.net/doc/495563897.html,/cht/technologies-aac-codec.html 也可以直接使用下面的地址: ftp://https://www.sodocs.net/doc/495563897.html,/tools/NeroDigitalAudio.zip 5. MeGUI 先安装Microsoft .NET Framework 2.0(如果是xp系统的话),然后安装终极解码(或完美解码),最后再安装MeGUI。 安装MeGUI后,会提示重启MeGUI,重启后提示要升级,升级的过程可能需要些时间。升级到最近后阶段会依次弹出3个窗口,把那些选项全部勾选上,然后点Import。 初次安装后,升级是必须的,只有升级后,才会有相关组件使用。升级好以后,还需在MeGUI中设置一下。在MeGUI的主界面依次进入Options → Settings,在弹出的对话框中切换到Program Paths。再仔细看下面,还有Video、Audio、Muxer、Others几个小标签,这里需要指明相关组件的安装路径。不过大部分在MeGUI升级过程中就自动设置好了。进入Others标签,如果先安装了终极解码(或完美解码),安装Megui时会自动找到AviSynth 2.5路径,如下图1所示。如果自己另外安装了AviSynth,则要自己设置一下avisynth plugins 安装目录。

建筑电气施工图识图教程2012

建筑电气施工图识图方法(I) 一、电气施工图的特点 1. 建筑电气工程图大多是采用统一的图形符号并加注文字符号绘制而成的; 2. 电气线路都必须构成闭合回路; 3. 线路中的各种设备、元件都是通过导线连接成为一个整体的; 4. 在进行建筑电气工程图识读时应阅读相应的土建工程图及其他安装工程图,以了解相互间的配合关系; 5. 建筑电气工程图对于设备的安装方法、质量要求以及使用维修方面的技术要求等往往不能完全反映出来,所以在阅读图纸时有关安装方法、技术要求等问题,要参照相关图集和规范。 二、电气施工图的组成 1. 图纸目录与设计说明 包括图纸内容、数量、工程概况、设计依据以及图中未能表达清楚的各有关事项。如供电电源的来源、供电方式、电压等级、线路敷设方式、防雷接地、设备安装高度及安装方式、工程主要技术数据、施工注意事项等。 2. 主要材料设备表 包括工程中所使用的各种设备和材料的名称、型号、规格、数量等,它是编制购置设备、材料计划的重要依据之一。 3. 系统图 如变配电工程的供配电系统图、照明工程的照明系统图、电缆电视系统图等。系统图反映了系统的基本组成、主要电气设备、元件之间的连接情况以及它们的规格、型号、

参数等。 4. 平面布置图 平面布置图是电气施工图中的重要图纸之一,如变、配电所电气设备安装平面图、照明平面图、防雷接地平面图等,用来表示电气设备的编号、名称、型号及安装位置、线路的起始点、敷设部位、敷设方式及所用导线型号、规格、根数、管径大小等。通过阅读系统图,了解系统基本组成之后,就可以依据平面图编制工程预算和施工方案,然后组织施工。 5. 控制原理图 包括系统中各所用电气设备的电气控制原理,用以指导电气设备的安装和控制系统的调试运行工作。 6. 安装接线图 包括电气设备的布置与接线,应与控制原理图对照阅读,进行系统的配线和调校。 7. 安装大样图(详图) 安装大样图是详细表示电气设备安装方法的图纸,对安装部件的各部位注有具体图形和详细尺寸,是进行安装施工和编制工程材料计划时的重要参考。 三、电气施工图的阅读方法 1. 熟悉电气图例符号,弄清图例、符号所代表的内容。 电气符号主要包括文字符号、图形符号、项目代号和回路标号等。在绘制电气图时,所有电气设备和电气元件都应使用国家统一标准符号,当没有国际标准符号时,可采用国家标准或行业标准符号。要想看懂电气图,就应了解各种电气符号的含义、标准原则和使用方法,充分掌握由图形符号和文字符号所提供的信息,才能正确地识图。 电气技术文字符号在电气图中一般标注在电气设备、装置和元器件图形符号上或者其近旁,以表明设备、装置和元器件的名称、功能、状态和特征。

最全的MeGUI压制高清视频教程

MeGUI是一个制作x264视频的优秀工具 严格来讲它只是一个包含了多种媒体工具集的GUI(Graphical User Interface ),即图形用户界面 但MeGUI将网络中流行的绝大多数免费开源的媒体工具整合到一起,形成了一个拥有良好操作手感而且功能强大的影音制作工具,大大降低了rip各种大码率高清视频源的困难和繁琐度,因此被广泛使用 使用MeGUI的前期准备 在使用MeGUI之前,我们要保证机器中至少拥有以下几个软件 1》Microsoft .NET framework 2.0或以上(Vista 的话需要 3.5以上)。这是微软出的一个免费.NET框架包,MeGUI是基于这个框架包运行的 2》Avisynth 2.5。不知道该怎么解释,字面意思是avi合成器,总之就是支持avs脚本的软件,MeGUI是需要通过avs脚本来对视频进行处理的 3》各种编码器和媒体工具(安装完美解码

或者终极解码可以省去繁琐的组件安装步骤,其中也包括2》中的Avisynth) 将上面几种必须的组件安装完成之后就可以使用MeGUI了 启动MeGUI之后如果不是最新版本则会跳出提示升级的窗口,操作下拉列表Options-》Update 选择需要升级的组件,点右下角Update 如果提示错误无法升级,请检查是否正确安装了Avisynth,然后按照Options-》Settings-》Program Paths-》other 操作,在avisynth plugins 中填入之前安装的Avisynth 2.5的plugins文件夹路径,然后再升级 升级成功之后重启,就是最新版MeGUI和组件了 另外,若需要Nero AAC 编码解码器,则必须自己下载,因为nero这个铁公鸡的版权问题,所以MeGUI并没有提供 下载之后放到megui/tools/neroaacenc 目录中,如果没有就请自己新建一个

施工图常用符号、图例大全

施工图常用符号、图例大全 一、定位轴线 1、作用 定位轴线是施工中墙身砌筑、柱梁浇筑、构件安装等定位、放线的依据。 规定:主要承重构件,应绘制水平和竖向定位轴线,并编注轴线号;对非承重墙或次要承重构件,编写附加定位轴线。 2、定位轴线的编号 1)横向定位轴线编号用阿拉伯数字,自左向右顺序编写; 2)纵向轴线编号用拉丁字母(除I、O、Z),自下而上顺序编写。 平面图上定位轴线的编号,宜标注在图样的下方与左侧。在两轴线之间,有的需要用附加轴线表示,附加轴线用分数编号。 3)对于详图上的轴线编号,若该详图同时适用多根定位轴线,则应同时注明各有关轴线的编号,如下图所示。

二、索引符号与详图符号 1)详细表示某些重要局部,需要另绘制其详图进行表达。 2)对需用详图表达部分应标注索引符号,并在所绘详图处标注详图符号。 三、标高符号 标高是标注建筑物高度方向的一种尺寸形式,以米为单位。 绝对标高:以青岛附近黄海平均海平面为零点测出的高度尺寸,它仅使用在建筑总平面图中。相对标高: 以建筑物底层室内地面为零点测出的高度尺寸。 建筑标高: 指楼地面、屋面等装修完成后构件的表面的标高。如楼面、台阶顶面等标高。 结构标高: 指结构构件未经装修的表面的标高。如圈梁底面、梁顶面等标高。

四、引出线

五、其他符号 1、连接符号: 对于较长的构件,当其长度方向的形状相同或按一定规律变化时,可断开绘制,断开处应用连接符号表示。 连接符号为折断线(细实线),并用大写拉丁字母表示连接编号。 2、折断符号 1)直线折断:当图形采用直线折断时,其折断符号为折断线,它经过被折断的图面。 2)曲线折断:对圆形构件的图形折断,其折断符号为曲线。

完美解码-教你如何调整视频播放器看1080P

在经理了无数磨难之后,我终于再次鼓起勇气来写kmp对应高清播放的文章。 希望这次写完之后赞的多骂偶的少…… kmp很多时候不同问题需要不同的对待方法,我不可能面面俱到,这里只是粗浅的带着大家入一下门,大家可以根据这些提示以及方法来自己研究合适自己的配置方案,好了,牢骚到此位置,进入正题。 kmplayer对应高清调试教程开始: 预先准备工作: 1.kmplayer 下载地址:https://www.sodocs.net/doc/495563897.html,/html_2/1/124/id=10344&pn=0.html 2.终极解码(这里解释一下为什么需要终极解码,考虑到很多新手用户找不到各种解码器,所以下载一个终极解码作为解码器合集来提供给kmp解码器)【达人绕行这步,请自行下载自己需要的解码器】 下载地址: https://www.sodocs.net/doc/495563897.html,/multimedia/media/detail-10544.html 3.准备电脑一台,操作系统一个,鼠标,键盘各一个,电源接入……(表打我- -) 安装工作: xp下无悬念,一路默认,所有的设置都不用考虑,全默认调整即可,我们会有后续调整。 win7用户,请注意安装终极解码的时候,一定要点击右键,选择使用管理员权限进行安装。这样可以确保解码器都正确的安装到系统(vista同win7)【关掉了UAC的用户可以同xp一样全默认】 ps:这里一定要注意,先装终极解码,再装kmp,两个都要装。 进入调试工作: 再次重申,要看文字,不要光看图,为了坑害只看图不看文字的人,我下了无数陷阱的说…… 1.终极解码调整解码中心。

解码中心按照下图所示调整。 这里解释一下为什么要选择为wmplayer这个播放器,首先wmp是微软自己的播放器,配合htpc以及遥控器看电影比较舒服,其次,这个播放器因为是微软自己出的,所以基本上没有什么报错的问题,这样我们把终极解码的解码方案指定给wmp可以说是让我们平时不用的播放器有所作为。 ps:不管你是xp还是vista win7,请确保你的wmp版本为windows mediaplayer 11.我们需要他内置的解码器以及漂亮的外观。(漂亮的外观比它的解码器重要……嘿嘿) ps2:终极解码的优先级别比kmp要高,如果你将这里指定为kmp,那么等一会不管你kmp做什么设置,都会受到终极解码的影响,从而发生一些诡异的问题……所以一定要记住,这里不能选择kmp,至于你喜欢其他的啥随便选也行。 进入kmp的调试:

ps滤镜艺术效果大全(含图,适合自学,教学)

实用滤镜大全(适合教学,自学,含图) 一.Artistic(艺术效果) Artistic(艺术效果) 滤镜模拟天然或传统的艺术效果。(注:此组滤镜不能应用于CMYK和Lab模式的图像) 1、Fresco(壁画滤镜) 作用:使用小块的颜料来粗糙地绘制图像。 调节参数: 画笔大小:调节颜料的大小。 画笔细节:控制绘制图像的细节程度。 纹理:控制纹理的对比度。 图解效果:

原图像壁画效果2、Colored Pencil(彩色铅笔滤镜) 作用:使用彩色铅笔在纯色背景上绘制图像。 调节参数:

铅笔宽度:调节铅笔笔触的宽度。 描边压力:调节铅笔笔触绘制的对比度。 纸张亮度:调节笔触绘制区域的亮度。 图解效果: 原图像彩色铅笔效果 第九组:Artistic(艺术效果) Artistic(艺术效果) 滤镜模拟天然或传统的艺术效果。(注:此组滤镜不能应用于CMYK和Lab模式的图像) 1、Fresco(壁画滤镜) 作用:使用小块的颜料来粗糙地绘制图像。 调节参数:

画笔大小:调节颜料的大小。 画笔细节:控制绘制图像的细节程度。 纹理:控制纹理的对比度。 图解效果: 原图像壁画效果2、Colored Pencil(彩色铅笔滤镜) 作用:使用彩色铅笔在纯色背景上绘制图像。 调节参数:

铅笔宽度:调节铅笔笔触的宽度。 描边压力:调节铅笔笔触绘制的对比度。 纸张亮度:调节笔触绘制区域的亮度。 图解效果: 原图像彩色铅笔效果

5、Palette Knife(调色刀) 作用:降低图像的细节并淡化图像,使图像呈现出绘制在湿润的画布上的效果。调节参数: 描边大小:调节色块的大小。 线条细节:控制线条刻画的强度。 软化度:淡化色彩间的边界。 图解效果: 原图像调色刀效果 6、Dry Brush(干画笔)

建筑结构施工图识图入门总结,很详细

建筑结构施工图识图入门总结,很详细 知识,力求达到以下四个方面能力: 1、理解建筑施工图的成图原理和制图标准; 2、看懂房屋的组成和各部分的材料、做法,能够看懂一般建筑工程的主要施工图纸; 3、能够根据施工图纸进行建筑面积和一般工程量的计算以及常用构件数量的统计; 4、能够发现图纸中较明显的错误、遗漏和图样之间相互矛盾的地方。 第一节建筑工程施工图的组成 各专业施工图的内容 1、总图:建筑场地范围内建筑物的位置、形状和尺寸,道路、绿化及各种室外管线的布置等。 2、建筑专业图:建筑平面图、立面图、剖面图、各种详图及门窗表、材料做法表。 3、结构专业图:基础图、各层顶板的平面、剖面、各种构件详图,构件数量表及设计说明。 4、设备专业图:包括给水、排水、采暖、通风各系统的平面图、轴测图和各种详图。 5、电气专业图:包括照明、动力和弱电的系统图、平面图及详图等。 第二节建筑工程图的成图原理 一、投影的概念 用一组假想的投射线把物体的形状投到一个平面上,就可以得到一个图形,称为投影法。 二、投影的种类 1、中心投影:投影线由一点放射出来投射到物体上,这种作图方法称为中心投影法。 2、平行投影:投影线呈相互平行状投射到物体上,称平行投影。 (1)正投影:使投影线垂直于投影面时,并且使物体的一个面也垂直于投影线。

(2)斜投影:当投影线倾斜于投影面时,所作出的投影。 三、物体的三面正投影图 1、三面正投影体系的形成 (1)将物体放在三个相互垂直的投影面间; (2)用三组垂直于投影面的投影线作投影; (3)在三个投影面上得到三个正投影图。 2、三面正投影体系的展开 (1)正立投影面不动; (2)水平投影面向下转动90°; (3)侧立投影面向右后方转动90°。 3、三面投影图的特性 (1)不全面性 每个投影图只能反映物体两个方向的尺寸;立面图反映长度和高度;平面图反映长度和宽度;侧面图反映高度和宽度。

ps新手入门实例大全详细教程

ps新手入门实例大全详细教程(二) 来源:网络作者:admin 发布时间:2011-06-29 点击:1262 目录 4.照片边框处理 5.简单照片合成 6.快速蒙版教程 7.认识色阶——————————————————————————————————————(4):照片边框处理 今天我们来学习制作一个简单的照片边框,通过制作过程,来熟悉PS的一些工具与制作手法。 1、打开PS,打开一张照片。现在我们要为这张照片做一个背景图,并改变一下照片的边框。 2、为背景层改名。在图层面板,现在有一个图层名为“背景”。这个背景层的右边有一个小锁。凡是第一次打开一个图片总是有这样一个上了锁的背景层。现在我们要改变它的名称。双击背景层,弹出一个对话框。在名称中写上“照片”后按“好”字。 3、创建新的图层。按一下图层面板最下面的“创建新的图层”按钮,在背景层的上面出现了一个新图层,名称为“图层1”。新图层是不会上锁的,改名就比较容易。我们可以双击这三个字,改名称为“新背景”。

4、凡是新建的图层,都是全透明的。我们可以看到在“新背景”这三个字左边有个小图,全是格子,这表示它是透明的。 我们还可以把“照片”层前的小眼睛关闭,这时,工作区中只有透明的格子样子了。现在我们要把“新背景”层填上颜色。 填充颜色分为两个步骤: A、第一步:要确定前景色还是背景色。 现在到窗口菜单下点“颜色”,出来一个颜色面板。在颜色两字的下面,有二个方的色块。前面黑色的是前景色,后面白色的是背景色。你需要设置前景色时(多数情况下我们是设置前景色),就点前面那块。现在我们按下前景色按钮。黑色的方块的外面多了一个外框,表示现在是设置前景色。 B、第二步:选择颜色。可以选择颜色的地方有好几个。右边的R右边由黑到红的长条下面,有一个小三角形,可以拉动它来改变颜色。你可以把这三条都拉一下,再看前景色有什么变化。 最右边的数字框也可以直接填入由0到255之间的数字。例如:在R(红)里,填入217;在G (绿)里,填入253;在B里填入249,现在前景色变成了浅绿色。这是RGB三原色组合表示一种颜色的方法。最下面有一个多彩的粗条,在这里可以多选一些颜色。最右边是黑白两色。这个颜色面板是非常方便来选择颜色的。更直观的方法是点“色板”标签。

AE完整教程 ae教程入门 AE新手教程

AE完整教程,ae教程入门,AE新手教程Adobe After Effects简称“AE”是Adobe公司推出的一款图形视频处理软件,适用于从事设计和视频特技的机构,包括电视台、动画制作公司、个人后期制作工作室以及多媒体工作室。属于层类型后期软件。 Adobe After Effects软件可以帮助您高效且精确地创建无数种引人注目的动态图形和震撼人心的视觉效果。利用与其他Adobe软件无与伦比的紧密集成和高度灵活的2D和3D 合成,以及数百种预设的效果和动画,为您的电影、视频、DVD和Macromedia Flash作品增添令人耳目一新的效果。 Adobe官方最新版本为:Adobe After Effects CC2017。 万彩动画大师(官网:https://www.sodocs.net/doc/495563897.html,)大概会分以下几个篇章来写,大家可以根据实际掌握情况而跳过,觉得看文章无趣的可以先看完AK大神的初心者教程。 一、安装篇 二、基础篇 三、插件篇 四、渲染输出篇 五、表达式篇 一、安装篇

1、版本选择 现在AE的版本很多,最新的是AE CC,版本越新功能越多,但是最新的不一定是最好的,适合自己的才是最好的。AE是内存杀手,内存越大越好,但由于系统限制,32位系统最大支持3G内存,因此从CS5开始,AE就只支持64位系统,对于64位还没普及的现代,CS4是32位系统更好的选择,但是AE只支持向下兼容不支持向上兼容,旧版本的AE不能打开新版本的工程文件,而且有些插件只支持64位,所以电脑配置允许的话最好还是选择CS5、CS6甚至CC。 2、下载与安装 大家根据自己的实际情况而选择合适的版本下载并按说明来安装和破解(汉化)。 AE CS4:https://www.sodocs.net/doc/495563897.html,/p/1901794458 AE CS5.5:https://www.sodocs.net/doc/495563897.html,/p/2353194865 AE CS6:https://www.sodocs.net/doc/495563897.html,/p/2273811393

相关主题