当前位置:首页 » 新媒体运营 » 正文

非线性规划是否为凸规划,教程 - LINGO 秒懂

10016 人参与  2022年11月16日 17:06  分类 : 新媒体运营  评论

chapter


LINGO是什么?

是最近很火的用来求解线性、非线性规划的软件,近年来数学建模等竞赛中使用频率很高,掌握没坏处的,尤其是数学专业,起码线代题不用Matlab了~

非线性规划是否为凸规划,教程 - LINGO 秒懂-百度竞价优化_微商推广_今日头条自媒体_新媒体运营_剑谦网络

chapter

说说界面:


①打开后界面会自动弹出名为“Lingo Model – Lingo ”的窗口,用于书写代码

②在空白处写完代码后,点击红色的靶心就可以开始运行程序

③运行正确会弹出一个名为“Solution Report”的界面
④由此可解变量 x 的数值


chapter

用 Lingo 解方程:


① 每个方程必须以分号“;”结束。

② 注意Lingo 的所有符号都是英文格式下的符号

③ Lingo 的加减乘除分别是:+ − ∗ /


【特别注意】

()“ ∗ x”在Lingo中不可以简写为x,乘号不能省略。

()注意除号“/”的形状


【eg】求解方程组

∗x+∗y+=

∗x−∗y+=


【易错点】

① 不写结尾的分号。

② 不写乘号。


chapter


Lingo 的变量:


①Lingo默认所有变量为大于等于的数字,因而非负的条件不必多写。

②万一遇到一个变量可以小于,后面会讲到一个函数叫做@free,来使其定义域为R。

③Lingo不区分大小写,所以mmm、mMm、MMM被视作同一个变量。

④无论是C、Matlab还是Lingo,变量均由字母数字下划线组成,且字母在首位。


【eg】求解方程组:

x²+y²+*x=

*x+y=

x>

y>




线性规划基础:


① 一个线性规划中只含一个目标函数(两个以上是多目标线性规划,Lingo 无法直接解)

② 求目标函数的最大值或最小值分别用 max = …或 min = …来表示

③ 以 !开头,以 ;结束的语句是注释语句

④ 线性规划和非线性规划的本质区别是目标函数是否线性,其余一致,故不需要区分

⑤值得注意的是,非线性规划的求解十分困难,基本得不到全局最优解。


chapter


矩阵工厂:


㈠生产一维矩阵:


先来看看例子,当然不必在意其中的空格(Lingo 不读取空格):


sets:

A /../ : a,b;

B/../ : x,y;

endsets


以上程序对应:

①A和B都是制造矩阵的工厂,但它们是两家不同的工厂

②A工厂后面的 /…/ 说明它专门生产 ∗ 的矩阵。B工厂最后面出现的a和b,都是 ∗ 的矩阵

③A工厂后面的 /…/ 说明它专门生产 ∗ 的矩阵。B工厂最后面出现的x和y,都是 ∗ 的矩阵

④ 矩阵工厂的名字A是随便起的,工厂所生产行矩阵的名字a和b也是随便起的

⑤ 以上这四句话,本质是定义了四个行矩阵的大小,矩阵工厂只是中介

⑥ 生产完矩阵后,工厂和矩阵之间将脱开联系

⑦ Lingo 不是一行一行读代码的,所以用sets:和endsets表示矩阵工厂生产流程的起止

非线性规划是否为凸规划,教程 - LINGO 秒懂-百度竞价优化_微商推广_今日头条自媒体_新媒体运营_剑谦网络

【eg】阅读以下Lingo代码,请问a和b两个矩阵有联系吗?

sets:

nanfu /../ : a,b;

endsets

答:没有特殊联系,只是 a 和 b 都是一行六列的矩阵

【eg】阅读以下Lingo代码,请问代码可否简洁一点?

sets:

ctgu /../ : a;

mcm /../ : b;

endsets

答:a,b可以合并,如下:

sets:

easy /../ : a, b;

endsets

【eg】阅读以下Lingo代码,请问有何问题?

sets:

ceshi /../ : apple, Apple;

endsets

答:Lingo 不区分大小写,所以 apple 和 Apple 是同一个矩阵,应该换个名字

㈡矩阵的赋值

矩阵工厂不能只生产矩阵,还要给矩阵赋初值才行,例子如下:

sets:

factory /../ : a,b;

plant /../ : c,x;

endsets

data:

a = , , , , , ;

b = ., ., ., ., ., .;

c = , , ;

enddata


以上程序对应以下知识点:

①不是每个矩阵都要赋值,有些矩阵正是我们要求解的变量

②需要赋值的矩阵必须赋满,不能给个元素的矩阵只赋个数值

③Lingo中可以给矩阵赋整数,也可以赋小数

④Lingo不是一行一行读代码的,所以用data:和enddata表示矩阵赋值的起止


本文链接:http://www.woshiqian.com/post/162623.html

百度分享获取地址:https://share.baidu.com/code
非线性规划 一维搜索方法  

我是钱微信/QQ:5087088

广告位、广告合作QQ:5087088

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

       

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。