当前位置: 首页 > wzjs >正文

织梦怎么修改网站模板怎么建网站快捷方式

织梦怎么修改网站模板,怎么建网站快捷方式,文章网站哪里建设好,蓟县做网站之前在 FastAPI介绍-CSDN博客 中介绍过FastAPI,在 Pyomo中线性规划接口的使用-CSDN博客 中使用Pyomo解决饮食问题,这里将两者组合,即FastAPI在服务器端启动,通过Pyomo实现线性回归;客户端通过浏览器获取饮食的最优解。…

      之前在 FastAPI介绍-CSDN博客 中介绍过FastAPI,在 Pyomo中线性规划接口的使用-CSDN博客  中使用Pyomo解决饮食问题,这里将两者组合,即FastAPI在服务器端启动,通过Pyomo实现线性回归;客户端通过浏览器获取饮食的最优解。

      这里服务器端的diet.json是已存在的,后期调整为从客户端传过来,以及其它可变参数也从客户端通过json格式传给服务器端。

      实现如下:

from fastapi import FastAPI
from pyomo.environ import *
import mathdef parse_json(file):model = ConcreteModel()data = DataPortal()data.load(filename=file)model.F = Set(initialize=data['sets']['F'])model.N = Set(initialize=data['sets']['N'])model.c = Param(model.F, initialize=data['params']['c'], within=PositiveReals)def parse_a(model, food, nutr):return data['params']['a'][food][nutr]model.a = Param(model.F, model.N, initialize=parse_a, within=NonNegativeReals)model.V = Param(model.F, initialize=data['params']['V'], within=PositiveReals)model.Nmin = Param(model.N, initialize=data['params']['Nmin'], within=NonNegativeReals, default=0.0)def parse_Nmax(model, nutr):val = data['params']['Nmax'][nutr]return val if val != "inf" else math.inf model.Nmax = Param(model.N, initialize=parse_Nmax, within=NonNegativeReals)model.Vmax = Param(initialize=data['params']['Vmax'], within=PositiveReals)return modeldef linear_programming_diet(file, number):model = parse_json(file)model.x = Var(model.F, within=NonNegativeIntegers)model.y = Var(model.F, within=Binary)model.cost = Objective(expr=sum(model.c[i]*model.x[i] for i in model.F), sense=minimize)def nutrient_rule(model, j):value = sum(model.a[i,j]*model.x[i] for i in model.F)return inequality(model.Nmin[j], value, model.Nmax[j])model.nutrient_limit = Constraint(model.N, rule=nutrient_rule)def volume_rule(model):return sum(model.V[i]*model.x[i] for i in model.F) <= model.Vmaxmodel.volume = Constraint(rule=volume_rule)def select_rule(model):return sum(model.y[i] for i in model.F) == numbermodel.select = Constraint(rule=select_rule)def linking_upper_rule(model, f):return model.x[f] <= model.y[f] * 1e6model.linking_upper = Constraint(model.F, rule=linking_upper_rule)def linking_lower_rule(model, f):return model.x[f] >= model.y[f]model.linking_lower = Constraint(model.F, rule=linking_lower_rule)solver = SolverFactory('glpk')results = solver.solve(model)if results.solver.termination_condition != TerminationCondition.optimal:return {"result":"no optimal solution"}results = {}results["total const"] = f"{value(model.cost):.2f}"foods = {}count = 0for f in model.F:v = int(value(model.x[f]))if v != 0:foods[f] = vcount += 1results["selected food"] = foodsif count != number:return {"result":"solution result is wrong, number of food types does not match"}nutrients = {}	for n in model.N:actual = sum(value(model.a[f,n] * model.x[f]) for f in model.F)nutrients[n] = f"{actual:.2f}"results["nutrients"] = nutrientsreturn resultsapp = FastAPI()@app.get("/diet")
def diet_optimization():return linear_programming_diet("../test_data/diet.json", 5)

      通过以下命令启动:

fastapi dev test_fastapi_pyomo.py

      在浏览器中输入:http://127.0.0.1:8000/diet ,结果如下图所示:

      GitHub:https://github.com/fengbingchun/Python_Test

http://www.dtcms.com/wzjs/838567.html

相关文章:

  • 广州微网站建设案例wordpress redis缓存定时
  • 知乎 做照片好的网站网站图片模板
  • 网站建设开发实训报告总结国内做设备网站哪些好
  • 网站开发多少钱一个中国国家商标注册网官网
  • 做网站需要看的书网站排版怎么做
  • 做问卷赚钱的网站wordpress 增加页面
  • 做网站建设找哪家好自贡市网站建设
  • 烟台市建设工程质量检测网站网站建设开发教程
  • 如何升级网站后台高端企业网站建站程序
  • 做网站实训报告小程序跳转到网站
  • 网站建设哪家强wordpress 比较好的插件
  • 网站建设与维护学什么如何发布网站到域名
  • 外国人可以在中国做网站吗珠海模板网站建设公司
  • 网站惩罚查询做外贸流程详细步骤
  • 网站开发 源代码做网站需要多少屏
  • 长沙官网seo推广怎么提高seo排名
  • 网站系统制作企业培训课程有哪些内容
  • 紫色网站wordpress 询价记录
  • 天津做网站报价老域名网站不收录
  • 西双版纳北京网站建设关于数据库的网站开发
  • 微网站怎么自己做wordpress中文版插件下载
  • 免费 网站 模板小程序发布流程
  • 公司网站用个人备案可以网站推销怎么做ppt
  • html5做音乐网站wordpress企业站
  • 雁塔网站建设百度seo优化包含哪几项
  • 发卡平台网站建设花瓣网素材
  • 微餐饮建站费用如何建设招聘网站
  • 专业网站建设的软件外贸自助建站
  • 赣州建设企业网站百度小程序开发教程
  • 2021免费网站大全北京网站开发外包公司