数学建模社区-数学中国

标题: VC2008与lingo11破解版混合编程,遭遇变量限制 [打印本页]

作者: madder123    时间: 2014-9-28 11:31
标题: VC2008与lingo11破解版混合编程,遭遇变量限制
做C++调用lingo11进行优化的混合编程,方法大致是把lingo的dll文件放置在c程序的目录文件下,当所要解的规划问题涉及变量较少时,运行正常,后来一个优化涉及527个变量,结果不能运算,出现了
  [Error Code:  108]
  The model's dimensions exceed the capacity of this version:
               DIMENSION    ACTUAL     LIMIT
            Constraints         7       150
    Nonlinear Variables         0        30
      Integer Variables         0        30
        Total Variables       527       300
  Contact LINDO Systems regarding larger versions of LINGO.
也就是说dll在被C++调用时并没有破解,仍然是300个变量上限。

后来换了许多所谓破解版本的DLL覆盖在c程序目录下,有的仍是上面的错误,有的是下面的新错误。
[Error Code:  191]
  The LINDO API returned the following error code:        2026
  LINDO API routine: LSsolve
  License is too small for the given problem.
[Error Code:  193]
  A solution is not available for this model.
  Running output operations ...

请教论坛里的高手,是如何突破混合编程的变量限制的。不胜感激!





作者: ゞ_轻描丶幸福的    时间: 2014-9-28 13:29
很好的资料
作者: 数学中国YY主管    时间: 2014-9-28 13:29
帮你顶一个,希望人们可以看到
作者: 建不了的模。    时间: 2014-9-28 13:38
可以到求取贴上面版主会替你解答的~
作者: madder123    时间: 2014-9-28 13:56
谢谢各位捧场。
我用版主给的lingo13的激活码,激活了lingo13,再运行,就是这么个结果,苦逼啊,差27个变量!
[Error Code:  108]

  The model's dimensions exceed the capacity of this version:
               DIMENSION    ACTUAL     LIMIT
            Constraints         7       250
    Nonlinear Variables         0        50
      Integer Variables         0        50
        Total Variables       527       500

  Contact LINDO Systems regarding larger versions of LINGO.

作者: 樊恒/yxDebug    时间: 2014-9-28 15:26
同学,,能告诉我怎么使用VC2008调用lingo11吗
作者: 樊恒/yxDebug    时间: 2014-9-28 15:26
同学,,能告诉我怎么使用VC2008调用lingo11吗
作者: 樊恒/yxDebug    时间: 2014-9-28 15:26
同学,,能告诉我怎么使用VC2008调用lingo11吗
作者: wujianjack2    时间: 2014-9-28 16:17
    LINGO 11破解版算起来应该是破解不完全吧。实际为DEMO爆破的吧。
    两个建议:
    1.试一下我分享的LINGO 10,看是否可用;
    2.告诉我如何VC++调用LINGO,本人暂时不太懂C++等高级语言,但有LINGO 14正版,破解版,LINDO API 9,LINGO 15正版,且核心DLL库均为最新,如果方便的话我可以给你算一下。
作者: madder123    时间: 2014-9-28 23:52
有个同学问怎么调用。关于高级语言调用lingo,大致如下:
一,为什么要调用。主要是lingo虽然非线性规划比较在行,但是比起matlab来,每次运行只能进行单目标规划,涉及相同数据进行不同目标函数和约束条件时,或者不同的数据代入同一模型时,就得一次次手动运行,很麻烦。通过混合编程,可以借助高级语言里的循环语句实现多目标规划或者重复运行模型。
二,调用过程。详细过程在lingo文件夹下面的手册里,manual.pdf中有详细介绍,在第12章,不过手册是英文。
以C++为例,主要包含两个文件,一个是C++源文件,后缀cpp,一个是lingo的文本文件,后缀是lng,用lingo写完另存为文本就好。
作者: madder123    时间: 2014-9-28 23:55
注意事项,可以看这个博客,"file:///E:/电子书/lingo和高级语言混合编程-q77190858-ChinaUnix博客.htm"    我是写完程序才发现的,觉得深有同感,这个博客里说的,都是在手册里体现不出来的小细节,比如传递数据只能是dobule类型,当时自己搞了一个上午......
作者: madder123    时间: 2014-9-29 00:07
具体怎么实现,同学你可以用手册里给的例子练手,其实弄出来一个也就全明白了,注意lingo目录下面的programing samples文件夹里面就是这些例子的代码,所以代码也不用自己写。理解难点就是cpp文件和lng文件里面互相传递数据的语句,这个要有一定的c语言数组与指针的基础知识,操作难点是用c++的环境调用lingo的dll文件。建议用vc2008以上的编辑环境(低版本vc也行,但恐怕与win7不兼容,一旦链接lib文件会崩溃),建立一个win32控制台空工程,然后把cpp,lng,log文件放在工程下,然后复制所有的lingo目录下的dll,lib,h文件到工程目录下(一定是所有的,虽然程序肯定不是全部用到,但我也分不清),同时链接器连接到lingd11.lib。
作者: madder123    时间: 2014-9-29 00:35
刚试验了版主分享的lingo10,确实可用,太感谢了!!!!弄了五六天了,都快绝望了,总算有个圆满的结果,谢谢版主和各位!!!!!
作者: 子轩青木    时间: 2016-8-2 15:05
解决了吗》》》?

作者: 子轩青木    时间: 2016-8-2 15:06
解决了吗》》》》





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5