编一个简单的程序,让13岁以上的性别代码为0的称为good,下面的错误在哪里?(主要...
编一个简单的程序,让13岁以上的性别代码为0的称为good,下面的错误在哪里?(主要是第三行)sets:
students/1..5/:age,sex;
good|age(&1)#gt#13 #and# sex(&1)#lt#1;
endsets
data:
age=12,14,16,18,24;
sex=0,1,1,0,1;
enddata
还有,lingo里面集,父集,派生集到底有什么区别?看了许久都不明白
谢谢啦
你的程序里边第三行good这个集合的定义方式是错误的,lingo里边没有这样的集合定义方法,要实现“让13岁以上的性别代码为0的称为good”的目的,你可以改为以下方法:
sets:
students/1..5/:age,sex;
hao(students,students)|&1#gt#13 #and# &2#eq#0:good;
endsets
data:
age=12,14,16,18,24;
sex=0,1,1,0,1;
enddata
改程序中good的元素即存储“13岁以上的性别代码为0”的信息,因为不知道你的程序最终目的是做什么,改程序只做到集合定义、赋值的一步。
lingo里面集是基本概念,就是有一类统一属性的特征定义为一个集,比如一个公司的职员工资,每个职员都有对应的工资,这样可以定义一个集合WAGE来存储工资信息,(WAGE\1..n\gongzi,n为职员数)。
父集与派生集相对应,像我改过后的程序里hao即是一个派生集和,两个students集合是他的父集,因为hao集合来源于sudents,是由students派生而来,所以叫做派生集和。派生集和形式上是跟矩阵相似。
西北狼666 发表于 2016-3-23 16:33 static/image/common/back.gif
你的程序里边第三行good这个集合的定义方式是错误的,lingo里边没有这样的集合定义方法,要实现“让13岁以上 ...
好厉害赞赞
好难哦好像是哪里不对
很明显,楼上都写错了..........
我估计是这样:
sets:
students/1..5/:age,sex;
hao(students)| age(&1)#gt#13 #and# sex(&1)#eq#0:good;
endsets
data:
age=12,14,16,18,24;
sex=0,1,1,0,1;
enddata
输出是这样:
Feasible solution found.
Infeasibilities: 0.000000
Total solver iterations: 0
Elapsed runtime seconds: 0.03
Model Class: LP
Total variables: 1
Nonlinear variables: 0
Integer variables: 0
Total constraints: 0
Nonlinear constraints: 0
Total nonzeros: 0
Nonlinear nonzeros: 0
Variable Value
AGE( 1) 12.00000
AGE( 2) 14.00000
AGE( 3) 16.00000
AGE( 4) 18.00000
AGE( 5) 24.00000
SEX( 1) 0.000000
SEX( 2) 1.000000
SEX( 3) 1.000000
SEX( 4) 0.000000
SEX( 5) 1.000000
GOOD( 4) 1.234568
网站审核挺严的呀,懒得回答了,哈哈..................
wujianjack2 发表于 2016-3-23 19:05 static/image/common/back.gif
网站审核挺严的呀,懒得回答了,哈哈..................
别闹建神
页:
[1]