数模(10)---非线性规划和01规划模型

Lingo---非线性规划模型和01规划模型

    • 非线性规划简介
    • 用Lingo求解非线性规划问题
    • 01规划模型简介
    • 用Lingo求解01规划问题

非线性规划简介

        非线性规划模型和线性规划模型相似,只不过是求解的方程组里面包含非线性成分(即不是线性函数)。下面给出一组非线性规划模型的求解实例。

用Lingo求解非线性规划问题

数模(10)---非线性规划和01规划模型_第1张图片
        从所例举的方程可以看出,目标函数中包含2次方,故不是线性函数。那么该非线性方程组在Lingo中如何求解呢?请看下图:

数模(10)---非线性规划和01规划模型_第2张图片
        上图即是Lingo的求解程序代码,其中@gin表示求得x1和x2为整数。

01规划模型简介

        定义:01规划是指未知量的取值范围只能是0,1的规划问题,通常是线性规划。

用Lingo求解01规划问题

数模(10)---非线性规划和01规划模型_第3张图片
数模(10)---非线性规划和01规划模型_第4张图片
        得01线性规划模型如下图:

数模(10)---非线性规划和01规划模型_第5张图片
        只需要在Lingo软件中输入以下代码即可:

Model
Min = 8 * x11 + 13 * x12 + 18 * x13 + 23 * x14 + 10 * x21 + 14 * x22 + 16 * x23 + 27 * x24 + 2 * x31 + 10 * x32 + 21 * x33 + 26 * x34 + 14 * x41 + 22 * x42 + 26 * x43 + 28 * x44;
x11 + x12 + x13 + x14 = 1;
x21 + x22 + x23 + x24 = 1;
x31 + x32 + x33 + x34 = 1;
x41 + x42 + x43 + x44 = 1;
x11 + x21 + x31 + x41 = 1;
x12 + x22 + x32 + x42 = 1;
x13 + x23 + x33 + x43 = 1;
x14 + x24 + x34 + x44 = 1;
end
int16

         注意:Model和end可以去掉,加上是使程序显得更清楚。最后上面问题输出的结果为:
在这里插入图片描述

你可能感兴趣的:(数学建模)