lingo入门教程之三 --- 文件数据处理

article/2025/6/23 7:09:10

有时候我们想输入的数据是在一个Excel表格或者其他什么形式中,或者说这里数据是实时变化的并不利于直接在程序中输入,耳而应该在程序之外将数据存储,实现数据与程序的分离存储,这个时候就涉及到程序与数据之间的传递

下面简要介绍一个如何进行数据与程序之间的传递

下面的讲解都是基于如下的问题模型

有个城市都需要采购一定量的物品,但每个城市只允许在自身所在的城市采购,城市i的最低需求量为need(i),最大供应量为supply(i),单件采购成本为cost(i),如何采购总成本最小?

模型:设order(i)为城市i的采购量,则问题的数学模型为

1.直接粘贴复制

开始的程序

model:
sets:
cities/!待输入的数据个数;/:cost,need,supply,order;
endsets
min=@sum(cities:cost*order);
@for(cities:need<=order;order<=supply);
data:
cost,need,supply=!待输入的数据值;;
enddata
end

直接利用把存储在Excel或者其他什么地方的数据复制粘贴过来,这里需要注意lingo里面的复制是按列进行的(这里在前面已经讲过),不注意的话可能会发生数据赋值的错乱

粘贴的选项

可以依次试一下上面的不同粘贴格式的效果

下面是我直接在Excel中Ctrl+C与Ctrl+V实现的

model:
sets:
cities/
Seattle	
Detroit	
Chicago	
Denver	/:cost,need,supply,order;
endsets
min=@sum(cities:cost*order);
@for(cities:need<=order;order<=supply);
data:
cost,need,supply=
12	1600	1700	
28	1800	1900	
15	1200	1300	
20	1000	1100	;
enddata
end

2.读取ldt数据文件:@file(数据文件名);
这里默认数据文件与程序文件在同一子目录下面,否则找不到数据文件而报错
model:
sets:
cities/@file(数据文件.ldt)/:@file(数据文件.ldt);
endsets
min=@sum(cities:cost*order);
@for(cities:need<=order;order<=supply);
data:
cost=@file(数据文件.ldt);
need=@file(数据文件.ldt);
supply=@file(数据文件.ldt);
enddata
end

如果路径不一致,也可以手动添加,Edit --> insert new object...


应当注意此时的文件类型的ldt格式,

具体里面内容:Seattle,Detroit,Chicago,Denver~cost,need,supply,order~12,28,15,20~1600,1800,1200,1000~1700,1900,1300,1100 注意中间的不同赋值用~间隔


3.存取Excel数据文件:@ole(文件名,元素名);

model:
sets:
cities/@ole('原始数据1.xls','cities')/:cost,need,supply,order;
endsets
min=@sum(cities:cost*order);
@for(cities:need<=order;order<=supply);
data:
cost,need,supply=@ole('原始数据1.xls'); !读取数据文件
@ole('原始数据1.xls','order')=order; !将计算结果存入表格中
enddata
end

对于路径不一致的情况解决方式与上述一样




http://chatgpt.dhexx.cn/article/6Jr3XPqI.shtml

相关文章

lingo入门教程之一 初识lingo

lingo对于一些线性或者非线性的规划&#xff0c;优化问题非常有效 首先介绍一下&#xff0c;在lingo中运行程序时出现的页面&#xff08;在工具栏点击类似靶子一样的图标便可运行&#xff09; Solver status:求解器(求解程序)状态框 Model Class:当前模型的类型:LP&#xff0c;…

lingo3d_基于官方教程的分析

lingo3d可以允许web内使用3d元素&#xff0c;其定位是web端游戏引擎。跟随官方教程我完成了一个简单的demo&#xff0c;即控制小人在三维空间穿行&#xff0c;并且可以显示相应物品信息 官方使用vitereact&#xff0c;故我们跟随其搭建 1.搭建主场景 这里与一般react项目出入不…

Lingo软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 Lingo是一款专门为解决线性和非线性优化问题而设计的专业软件&#xff0c;广泛应用于运筹学、工程管理、交通管理、生产调度、物流管理等领域。它提供了一个易于使用的界面和灵活的求解器&#xff0c;能够高效地求解大规模的线性…

数学建模学习(25):一夜整理的Lingo入门教程,助力建模国赛!

文章目录 前言使用教程基本语法影子价格敏感性分析以上总结变量约束与函数全局最优解(最值)局部最优解(极值)总结前言 在上一篇文章我用到了lingo,但我盲猜一下大家可能不会用lingo做数学计算,因此我在这里做一个教程。 使用教程 下载地址:微信软件管家。 假设已经写…

java调用lingo实例_LINGO使用教程(一)

LINGO是用来求解线性和非线性优化问题的简易工具。LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。 1.LINGO快速入门 当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口: 外层是主框架窗口,包含了…

c语言程序框图示范,C语言程序框图courseware.ppt

第3章控制结构&#xff1b;目录; ●基本要求: 1)熟悉C语言程序结构框图&#xff1b; 2)熟悉C语言的两分支结构&#xff0c;多分支结构和循环结构&#xff1b; 3)熟悉结构化程序设计方法. ●学习要点: 1)流程图&#xff0c;NS图&#xff0c;循环结构&#xff1b; 2)结构化程序设…

C语言经典100例-9

c语言经典100例 题目&#xff1a;要求输出国际象棋棋盘。 程序分析&#xff1a;国际象棋棋盘由64个黑白相间的格子组成&#xff0c;分为8行*8列。用i控制行&#xff0c;j来控制列&#xff0c;根据ij的和的变化来控制输出黑方格&#xff0c;还是白方格。 如果出现乱码情况请参…

C语言程序设计100个经典例子

<1>数字排列。 #include <stdio.h> int main() {int sum 0;for(int i 1; i< 5; i){for(int a 1; a< 5; a){for(int b 1; b< 5; b){if(i!a && i!b && a!b){printf("%d%d%d", i, a, b);putchar(\n);sum sum 1;}}}}printf("%…

eclipse的简介

1.打开eclipse软件 2.新建工程 file -> new ->java Project

Eclipse开发工具--简介

简介 Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言&#xff0c;它只是提供了一个基础的底层支持&#xff0c;而后针对于不同的编程语言都会提供有相应的插件支持。 Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境&am…

Java-2学习之Eclipse简介

源码编写的时候需要用编辑器&#xff0c;这里介绍下Eclipse。 1. 手动编译执行 在介绍之前&#xff0c;我们先手动执行一个java文件&#xff0c;了解下java编译执行的过程。 首先用笔记本工具编辑一个HelloJava.java文件&#xff0c;内容如下&#xff1a; public class Hel…

eclipse的使用简介

Java开发工具的之eclipse的使用 eclipse简介 接着上篇&#xff0c;进入到eclipse主界面之后&#xff0c;我们常用的视图包含下图所示的四部分&#xff1a; 注&#xff1a;当我们不小心将eclipse中的视图关闭后&#xff0c;想再次使用该视图时&#xff0c;可以单击eclipse菜单栏…

Eclipse简介和插件开发

Eclipse 是一个很让人着迷的开发环境&#xff0c;它提供的核心框架和可扩展的插件机制给广大的程序员提供了无限的想象和创造空间。目前网上流传相当丰富且全面的开发工具方面的插件&#xff0c;但是Eclipse已经超越了开发环境的概念&#xff0c;可以想象Eclipse将成为未来的集…

Eclipse 简介和插件开发示例 (IBM的文章)

Eclipse 是一个很让人着迷的开发环境&#xff0c;它提供的核心框架和可扩展的插件机制给广大的程序员提供了无限的想象和创造空间。目前网上流传相当丰富且全面的开发工具方面的插件&#xff0c;但是Eclipse已经超越了开发环境的概念&#xff0c;可以想象Eclipse将成为未来的集…

Eclipsej简介

Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。 Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多…

Eclipse简介、安装及常用快捷键

导航 我们为什么需要Eclipse&#xff1f;Eclipse简介与Eclipse基金会Eclipse下载安装1.下载2.安装2.1 安装JAVA EE插件 3.选择工作空间 Eclipse简单编辑与调试1.新建一个项目2.创建包Package3.创建类Class5.运行6.控制台7.调试8.Bug名称的由来 Eclipse安装插件Install New Soft…

Eclipse和MyEclipse简介

1.Eclipse 最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境&#xff0c;2001年11月贡献给开源社区&#xff0c;现在它由非营利软件供应商联盟Eclipse基金会管理。 Eclipse还包括插件开发环境&#xff08;Plug-in Decelopment Enviroment,PDE&#…

【Eclipse】--Eclipse简介和安装

工欲善其事必先利其器&#xff0c;作为堂堂的Java高级开发人员&#xff0c;对Eclipse的使用绝对不能是菜鸟级别的。不怕不知道&#xff0c;就怕不知道&#xff0c;有点时间&#xff0c;把Eclipse好好的了解一下。 Eclipse是什么&#xff1f; Eclipse是一种通用工具平台——普遍…

eclipse的简介安装与配置

eclipse概述 开发工具 记事本、加强记事本集成开发环境: 集成开发环境的分类: Eclipse、idea、Myeclipse Eclipse下载 www.eclipse.orgDownload---->download packags--->选择版本(最新版本)--->developers For javeEE --->windows 64bit ------>选择中国镜像…

简介 eclipse

IBM-Eclipse简介: eclipse-galileo Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。 I…