毕业论文需要设计一个软件,请问如何通过vb调用lingo求解线性规划之类的问题?
如题。本人绝对菜鸟! --------------------编程问答-------------------- 何为lingo? --------------------编程问答-------------------- 数学建模的一个软件。 --------------------编程问答-------------------- 看看你要调用的软件提供了什么借口,对象... --------------------编程问答-------------------- 有一个模块、、。、、、、。 --------------------编程问答-------------------- 下面是我在网上找的。。。 然后本人绝对的菜鸟。不知道怎么搞2011-1-8 19:24 提问者: sanghuiyun | 浏览次数:530次
请各位大侠多多指教!用lingo计算线性规划,变量和约束条件的上限由VB界面输入确定,最后,再用VB读取lingo计算结果?我来帮他解答 输入内容已经达到长度限制还能输入 9999 字插入图片删除图片插入地图删除地图插入视频视频地图回答即可得2分经验值,回答被选为满意回答可同步增加经验值和财富值
参考资料:匿名回答提交回答取消
2011-1-8 22:08 精彩回答 这个我做过,不简单也不容易,举例说明,你按下面的去做一遍就知道怎么解决你的问题了。
在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)。赞同4| 评论
向TA求助 回答者: hwp199 | 五级采纳率:70%
擅长领域: 数学
参加的活动: 暂时没有参加的活动
提问者对回答的评价:
感谢关注
补充:VB , 基础类