2.python将列表a =[“I“,“T“ ,“e“ ,“s“ ,“t“ ,“e“ ,“r“]拼接成字符串,请用多种方法实现。

方法一 字符串函数调用a = ["I", "T", "e", "s", "t", "e", "r"]print("".join(a))方法二 for循环a = ["I", "T", "e", "s", "t", "e", "r"]s = ""for item in a: s += itemprint(s)
摘要由CSDN通过智能技术生成

方法一 字符串函数调用

a = ["I", "T", "e", "s", "t", "e", "r"]
print("".join(a))

方法二 for循环

a = ["I", "T", 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码中存在以下问题: 1. `eta2` 的名字与定义 `eta1` 相同,应该为 `eta2 = model.addVar(20,1, vtype=gp.GRB.BINARY, name="eta2")`。 2. `y` 的定义中,需要将 `S` 改为 `range(S)`,即 `for s in range(S): y[s] = model.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="y_" + str(s))`。 3. `lhs` 中的 `@` 应该改 `dot` 函数,即 `lhs = gp.dot(eta1[s], z_bar) + (gp.dot((C_re * q + C_se), e) - eta1[s] + eta2[s]) @ z_hat[s] / S`。 4. 在第三个约束条件中,需要将 `/ S` 移到 `gp.quicksum([y[s] / S for s in range(S)])` 中。 5. 目标函数中的 `k` 应该改为 `gp.abs_(k)`,因为 `k` 的范围是非负实数,而目标函数是要求最小值。 6. 在约束条件和目标函数中,出现了未定义的变量 `C_re`,应该在开头定义 `C_re = 20`。 7. 在约束条件和目标函数中,出现了未定义的变量 `sigma`,应该在开头定义 `sigma = 0.1`。 修改后的代码如下: ``` import gurobipy as gp import numpy as np delta = 0.005 S = 10 # 历史数据个数 T = 20 # T个阶段 c_p = 225 tau = 13500 # 预期收益目标 z_bar = 1 # 需求上届 C_re = 20 C_se = 30 h = 3.25 # 超储本 zbar = 1 # 需求上届 q = 0.2 # 维修率 sigma = 0.1 # 标准差 z_hat = np.around((1 - 1 * np.random.rand(S, T)) * zbar) # 假设历史数据 i = np.arange(1, T + 1) # [1,2,...,n] e_sigma = np.logspace(1, T - 1, T, base=np.exp(-sigma)) # 创建模型 model = gp.Model() # 创建变量 x = model.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="x") k = model.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="k") eta1 = model.addVar(T, vtype=gp.GRB.BINARY, name="eta1") eta2 = model.addVar(T, vtype=gp.GRB.BINARY, name="eta2") y = {} for s in range(S): y[s] = model.addVar(lb=0, vtype=gp.GRB.CONTINUOUS, name="y_" + str(s)) e = gp.quicksum([gp.exp(-delta * t) for t in range(1, T + 1)]) # 添加约束 for s in range(S): lhs = gp.dot(eta1[s], z_bar) + (gp.dot((C_re * q + C_se), e) - eta1[s] + eta2[s]) @ z_hat[s] / S model.addConstr(y[s] >= lhs) model.addConstr(gp.norm2((C_re * q + C_se) @ e - eta1[s] + eta2[s]) <= k) model.addConstr(c_p @ x + gp.quicksum([gp.exp(-delta * t) * h @ x for t in range(1, T + 1)]) + gp.quicksum([y[s] / S for s in range(S)]) <= tau) # 添加目标 model.setObjective(gp.abs_(k), sense=gp.GRB.MINIMIZE) # 求解 model.optimize() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值