你的问题
了。
在VB里面“工程”菜单下面添加“添加模块”,打开对话框,找到路径:X:\Program
Files\lingo80\Dll(X为驱动盘)下的“Lingd80.bas”,添加到VB中。
在VB
界面
上设计Text1和Text2、Command1。
编写
语句
:
Private
Sub
Command1_Click()
'------------------------
Dim
nError
As
Long
Dim
pLINGO
As
Long
Dim
nPointersNow
As
Long
Dim
cScript
As
String
Dim
Apppath
As
String
Dim
dStatus
As
Double
Apppath
=
"take"
&
Space(1)
&
Right(App.Path,
Len(App.Path)
-
2)
'------------------------
On
Error
GoTo
ERROREXIT
pLINGO
=
LScreateEnvLng()
'------------------------
Dim
x
As
Double,
y
As
Double
x
=
Text1.Text
'------------------------
nError
=
LSsetPointerLng(pLINGO,
x,
nPointersNow)
nError
=
LSsetPointerLng(pLINGO,
y,
nPointersNow)
'------------------------
On
Error
GoTo
ERROREXIT
nError
=
LSexecuteScriptLng(pLINGO,
cScript)
'------------------------
dStatus
=
-1#
nError
=
LSsetPointerLng(pLINGO,
dStatus,
nPointersNow)
'------------------------
cScript
=
"SET
ECHOIN
1"
&
Chr(10)
cScript
=
cScript
&
Apppath
&
"\LINGO1.lng"
&
Chr(10)
cScript
=
cScript
&
"GO"
&
Chr(10)
cScript
=
cScript
&
"QUIT"
&
Chr(10)
cScript
=
cScript
&
Chr(0)
On
Error
GoTo
ERROREXIT
nError
=
LSexecuteScriptLng(pLINGO,
cScript)
'------------------------
LScloseLogFileLng
(pLINGO)
LSdeleteEnvLng
(pLINGO)
'------------------------
Text2.Text
=
y
ERROREXIT:
End
Sub
然后再用lingo8.0编写
代码
(命名为LINGO1.lng,注意要保存为.lng文件):
model:
data:
x=@pointer(1)
enddata
y=x*2
data:
@pointer(2)=y
enddata
end
将.lng文件和VB代码放同一
文件夹
,即可运行VB控制Lingo的输入(本程序是由VB的Text1输入x,由lingo完成y=2x计算,计算结果返回到VB中Text2)。
运行用法如下:
1、根据实际问题,建立数学模型,即使用数学建模的方法建立优化模型。
2、根据优化模型,利用LINGO 来求解模型。主要是根据LINGO软件,把数学模型转译成计算机语言,借助于计算机来求解。
在利用LINGO 求解线性规划时,如自变量都为非负的话,在LINGO 中输入的信息和模型基本相同;如自变量为自由变量,可以使用函数 @free来把系统默认的非负变量定义自由变量,如实例一中的 x3。
Lingo的特点:
Lingo中变量不区分大小写,以字母开头不超过32个字符;算术运算符是针对数值进行 *** 作的;LINGO提供了5种二元运算符:^乘方 ﹡乘 /除 ﹢加 ﹣减;LINGO唯一的一元算术运算符是取反函数“﹣”。
LINGO拥有一整套快速的,内建的求解器用来求解线性的,非线性的(球面&;非球面的),二次的,二次约束的,和整数优化问题。甚至不需要指定或启动特定的求解器,因为LINGO会读取您的方程式并自动选择合适的求解器。
用matlab打开其他程序, 这一句 !E:\FLUIDDYNAMICS\GA MBIT\Fluent.Inc\ntbin\ntx86\gambit,这是路径。我还找到了 一个类似的,可以执行,打开程序后继续执行journal文件, !E:\FLUIDDYNAMICS\FLUENT\Fluent.Inc\ntbin\ntx86\fluent 2ddp -i journal。你按照你的lingo路径写就可以了。不会找我欢迎分享,转载请注明来源:内存溢出
评论列表(0条)