• lingo重点部分快速上手


    一、设置结果范围的命令:

    1. @bin(x):表示x为0/1

    2. @gin(x):表示x为证书

    3. @free(x):表示x为任意实数

    4. @bnd(l,x,u):表示x为【l,u】之间的实数

    5. 默认变量为非负实数

    例题1:

    max = 4*x1+3*x2;
    2*x1+x2<=10;
    x1+x2<=8;
    x2<=7;
        x1>=0;
        x2>=0;
    ​
    @gin(x1);
    @gin(x2);
     

    例題2:
    ​
    定义集合:
    sets:
    S/1..6/: a,b,d  ;S是一个1-6的集合,定义给a
    T/1,2,3/: e,x   ;T是一个1,2,3的集合
    U(S,T):c        ;定义了一个6*3的矩阵,也就是双虾标
    endsets
    ​
    定义数据段:
    data:
    a=1.25 8.75 0.5 5.75 3 7.25;
    b=1.25 0.75 4.75 5 6.5 7.75;
    d=3 5 4 7 6 11;
    x=5 2;
    y=1 7;
    e=20 20;
    enddata
    ​
    定义模型:
    min=@sum(T(j):@sum(S(i):
    c(i,j)*@sqrt((x(j)-a(i))^2+(y(j)-b(i)^2))));
    ​
    @for(S(i):
        @sum(T(j):c(i,j))=d(i));
    ​
    @for(T(j):
        @sum(S(i):c(i,j))<=e(j));
     

     

    Lingo读取数据:(重点)

    1.读取txt数据:

    !使用file函数
    sets:
        id/1..100/;
        weight/1..400/;
        value/1..600/;
        dataing(id,weight,value)/@file('G:无用的运筹学运筹学应用课程设计2021-第2版dataknapsack100.txt')/:data1;
    endsets

     

    2.读取excel数据(有问题这里)

    !使用ole函数
    sets:
        fiveStar;
        fourStar;
        threeStar;
        range/1..17/:rn;
        Allowed(fiveStar,fourStar,threeStar):x,y;
    endsets
    ​
    data:
        rate=0.01;
        fiveStar,fourStar,threeStar=@ole('E:学习笔记Lingo上海4A景区.XLS','_5A','_4A','_3A');
    enddata
    ​

    如果简单调用,excel传入的数据会循环调用,这部分暂时没有头绪

     

  • 相关阅读:
    DS博客作业03--栈和队列
    DS博客作业02--线性表
    DS博客作业01--日期抽象数据类型设计与实现
    C语言博客作业06--结构体&文件
    DS博客作业08--课程总结
    DS博客作业07--查找
    DS博客作业06--图
    DS博客作业05--树
    DS博客大作业--树 (陈梓灿组)
    DS博客作业03--栈和队列
  • 原文地址:https://www.cnblogs.com/instead-everyone/p/14968785.html
Copyright © 2020-2023  润新知